Fer*_*nal 7 c# checkbox combobox winforms windows-controls
我读了一些文章并且没有管理解决了我的问题,我的问题是在我尝试获取动态添加到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);
}
Run Code Online (Sandbox Code Playgroud)
"我在ComboBox的情况下添加数据库中的值,我省略了这一部分."
我尝试用foreach获取值:
foreach (Control ctrl in groupBox.Controls)
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何检查Control(CheckBox和ComboBox)是否被检查或为空(视情况而定).
非常感谢您的帮助,感谢您的时间.
您可以使用as运算符,如下所示:
foreach (Control ctrl in groupBox.Controls)
{
CheckBox checkBox = ctrl as CheckBox;
ComboBox comboBox = ctrl as ComboBox;
if (checkBox != null) // Control is a CheckBox
{
if (checkBox.Checked)
{
// CheckBox is checked
}
else
{
// CheckBox is not checked
}
}
else if (comboBox != null) // Control is a ComboBox
{
if (comboBox.Items.Count == 0)
{
// ComboBox is empty
}
else
{
// ComboBox isn't empty
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
911 次 |
| 最近记录: |