如何以Windows格式动态添加单选按钮?

问题描述 投票:0回答:1

我需要在Windows窗体和水平模式下动态添加单选按钮。 Sample

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);
}
c# winforms radio-button
1个回答
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(这就是我更喜欢的),要么将其创建为表单的实例成员并在运行时添加它(这没有任何好处)。

© www.soinside.com 2019 - 2024. All rights reserved.