Apa*_*nha 0 c# radio-button winforms
我需要在 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);
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
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);
Run Code Online (Sandbox Code Playgroud)
您还可以FlowLayoutPanel在设计器中添加并在代码中保留该部分。
要获得所选RadioButton使用的构造,如下所示:
RadioButton rbSelected = pnl.Controls
.OfType<RadioButton>()
.FirstOrDefault(r => r.Checked);
Run Code Online (Sandbox Code Playgroud)
要使用它,FlowLayoutPanel需要在调用方法中知道。因此,要么将它添加到Form设计器中(这就是我喜欢的),要么将其创建为表单的实例成员并在运行时添加它(这没有任何好处)。