【发布时间】:2015-05-05 07:59:23
【问题描述】:
我阅读了一些文章并没有解决我的问题,我的问题是在我尝试获取动态添加到 Windows 窗体中的控件(CheckBox 和 ComboBox)的值时,我需要知道 CheckBox 何时被选中(或未选中),如果当我按下按钮时 ComboBox 为空(或不为空),则此按钮调用一个方法,在该方法中我验证所有组件是否为空,我按以下方式添加控件:
CheckBox box;
ComboBox cmBox;
for (int i = 1; i <= sumOfRegisters; i++)
{
box = new CheckBox();
box.Name = "CheckBox" + i;
box.Text = "Some text";
box.AutoSize = true;
box.Location = new Point(10, i * 25); //vertical
cmBox = new ComboBox();
cmBox.Name = "ComboBox" + i;
cmBox.Size = new System.Drawing.Size(302, 21);
cmBox.TabIndex = i;
cmBox.Text = "Some Text";
cmBox.Location = new Point(270, i * 25);
this.groupBox.Controls.Add(cmBox);
this.groupBox.Controls.Add(box);
}
“我在 ComboBox 的情况下添加了数据库中的值,我省略了这部分。”
我尝试使用 foreach 获取值:
foreach (Control ctrl in groupBox.Controls)
问题是我不知道如何知道控件(CheckBox 和 ComboBox)是否被选中或为空(视情况而定)。
非常感谢您的帮助,感谢您的宝贵时间。
【问题讨论】:
-
我建议查看
DataRepeater控件。 -
是您在迭代
groupBox.Controls时不确定什么类型的控件的问题吗? -
在单独的
foreach语句中分离两个控件可能是值得的:var CheckBox chk; foreach (chk in groupbox.Controls)和var ComboBox cmb; foreach (cmb in groupbox.Controls)
标签: c# winforms checkbox combobox windows-controls