2017-06-27 118 views
0

我需要在我的Windows窗體和水平模式下動態添加單選按鈕。 Sample如何在Windows窗體中動態添加單選按鈕?

for (int i = 0; i <= r.Count; i++) 
{ 
RadioButton rdo = new RadioButton(); 
rdo.Name = "id"; 
rdo.Text = "Name"; 
rdo.ForeColor = Color.Red; 
rdo.Location = new Point(5, 30); 
this.Controls.Add(rdo); 
} 
+2

偉大/你有什麼嘗試 – BugFinder

+0

做類似[this](https://social.msdn.microsoft.com/Forums/windows/en-US/e78f393d-1ae0-4f0d-b488-d2c453219220/how-to -create-radio-buttons-dynamically-in-groupbox?forum = winforms)回答你的問題? –

+0

@MarkC。我使用了相同的鏈接,但它垂直顯示單選按鈕 –

回答

1

你可以做這樣的事情:

FlowLayoutPanel pnl = new FlowLayoutPanel(); 
pnl.Dock = DockStyle.Fill; 

for(int i=0;i<4;i++) 
{ 
    pnl.Controls.Add(new RadioButton() { Text = "RadioButton" + i }); 
} 

this.Controls.Add(pnl); 

你也可以添加在設計師的FlowLayoutPanel,離開的那部分代碼。

獲取所選RadioButton使用結構是這樣的:

RadioButton rbSelected = pnl.Controls 
         .OfType<RadioButton>() 
         .FirstOrDefault(r => r.Checked); 

要使用FlowLayoutPanel需要這調用方法是已知的。因此,要麼將它添加到設計器中的Form(這就是我更喜歡的),要麼將它創建爲表單的實例成員,並在運行時添加它(這沒有任何好處)。

+0

非常感謝.. :) –

+0

無論如何。如果這是您問題的解決方案,請標記爲正確答案 –

+0

您能否告訴我如何在保存按鈕點擊時獲得選定的單選按鈕ID? @Romano Zumbe –

相關問題