C#中获取CheckBox选中的值(多选)

2024-10-30 09:59:43
推荐回答(4个)
回答(1):

Form1中: List s = new List();

foreach (Control o in this.Controls)
{
if (o is CheckBox)
{
if (((CheckBox)o).Checked == true)
{
s.Add(this.checkBox1.Text);
}
}
}
Form2 f = new Form2(s);
f.Show();

Form2中重写构造函数:
public Form2()
{
InitializeComponent();
}
public Form2(List lst)
{
InitializeComponent();
lst = s;
}

回答(2):

Form2中CheckValue()是一个Public方法,用于返回Check的值,不建议用Public变量,不安全

Form2 frm=new Form2();

if(frm.showDialog()==Dialog.ok)
{
this.TextBox1.Text=frm.checkValue();
}

回答(3):

在有checkbox的窗体里把checkbox的Modifier由private改为public另外的窗体就可以直接访问这个checkbox的checked状态。或者增加一个共用boolean类型变量,在FromClose事件中把checkbox的值赋给该共用变量

回答(4):

System.Collections.Generic.List checkboxs = new System.Collections.Generic.List();
if(CheckBox1.Checked)
{
checkboxs.add(CheckBox1);
}

另外的FORM里面做一个属性

public System.Collections.Generic.List checkboxs
{
get;set;
}