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);
}
答案 0 :(得分:2)
你可以这样做:
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
(这就是我更喜欢的),要么将其创建为表单的实例成员并在运行时添加它(这没有任何好处)。