</pre><pre name="code" class="csharp">//按列分组(n>i且listSize>n)
<span style="white-space:pre"> </span>public void showRadioButton(int listSize, List<String> list)
{
//控件上边缘与容器上边缘的距离
int top = 6;
//记录循环,控件左上角相对于容器左上角的坐标
int i = 0;
int n = 0;
RadioButton[] radioButton = new RadioButton[listSize];
for (n = 0; n < listSize; n++)
{
if (n % 15 == 0 && n != 0)
{
i++;
if (i % 5 == 0)
{
top = 6 * n;
i = 0;
}
else
{
top = 6;
}
}
radioButton[n] = new RadioButton();
radioButton[n].AutoSize = true;
radioButton[n].Top = top;
//控件左上角相对于容器左上角的坐标,以及每个控件之间的距离
radioButton[n].Location = new Point(i * 150 + 2, top);
// MessageBox.Show(name[n].ToString());
radioButton[n].Text = list[n].ToString();
radioButton[n].Visible = true;
radioButton[n].Name = "radioButton" + n;
this.panelMain.Controls.Add(radioButton[n]);
top = top + 21;
}
}
//按行分组
public void showRadioButton(int listSize)
{
//控件上边缘与容器上边缘的距离
int top = 6;
//记录循环,控件左上角相对于容器左上角的坐标
int i = 0;
int n = 0;
GroupBox gb = new GroupBox();
panelMain.AutoScroll = true;
RadioButton[] radioButton = new RadioButton[listSize];
for (n = 0; n < listSize; n++)
{
if (n % 4 == 0 && n != 0)
{
top += 20;
i = 0;
}
radioButton[n] = new RadioButton();
radioButton[n].AutoSize = true;
radioButton[n].Top = top;
//控件左上角相对于容器左上角的坐标,以及每个控件之间的距离
radioButton[n].Location = new Point(i* 150 + 2, top);
// MessageBox.Show(name[n].ToString());
radioButton[n].Text = n.ToString();
radioButton[n].Visible = true;
radioButton[n].Name = "radioButton" + n;
this.panelMain.Controls.Add(radioButton[n]);
i++;
}
}
Winform 动态添加RadioButton、CheckBox 且任意分组,布布扣,bubuko.com
Winform 动态添加RadioButton、CheckBox 且任意分组