例如有一个窗体A 和一个窗体B
A上有一个checkbox B 上也有一个checkbox
运行A窗体勾选chk后调整B窗体 然后b窗体上的checkbox也被勾选上
在A窗体Load事件中循环遍历窗体上的checkbox
添加到list集合
A窗体
List<CheckBox> list = new List<CheckBox>();
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control cro in this.Controls)
{
if (cro is CheckBox)
{
list.Add(cro as CheckBox);
}
}
}
勾选checkbox后调整b窗体
private void chk1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(list);
frm2.ShowDialog();
}
由此可以看出B窗体的构造函数必须有List<CheckBox>参数
B窗体
List<CheckBox> listchk = null;
public Form2(List<CheckBox> lcb)//接受A窗体传来的值
{
listchk = lcb;
InitializeComponent();
}
加载事件
private void Form2_Load(object sender, EventArgs e)
{
foreach (CheckBox item in listchk)
{
this.textBox1.Text += item.Name + item.Checked + item.CheckState;
if (item.Checked==true)
{
this.checkBox1.Checked = true;
}
}
}