如何让Form2查看Form1中有多少个组框?

时间:2016-06-28 21:01:24

标签: c# winforms

我有2个Windows窗体。

Form1在groupbox中有复选框。

将选中的复选框移动到Form2中的listBox1。

我尝试编写一个代码,允许Form2查看Form1中有多少个分组框。有人可以给我提示吗?

(Form1中)

form2.Populatelist(
                   groupBox1,
                   groupBox2
                  );

(窗体2)

public void Test(params GroupBox[] groupboxes)
        {
            for(int i=0;**# of groupboxes in Form1**;i++)
            {
                var checkBoxes = groupboxes[i].Controls.OfType<CheckBox>();

                foreach(var checkBox in checkBoxes)
                {
                    if(checkBox.Checked==true)
                    {
                        if(checkBox.Checked==true)
                        {
                            listBox1.Items.Add(checkBox.Text);
                        }

                        if(listBox1.Items.Count>0)
                        {
                            listBox1.SetSelected(0, true);
                        }
                    }
                }
            }

1 个答案:

答案 0 :(得分:1)

您只需要计算一组分组框,然后将其公开为Form1中的公共属性,如

public int GroupBoxCount { get; set; }

在Form2中传递Form1的实例,如

Form2 frm = new From2(this);

然后您可以像

一样访问它
for(int i=0; i < frm1.GroupBoxCount;i++)