您好我在获取运行时添加的复选框的状态时遇到问题。选中/取消选中复选框时会触发事件。从事件调用的函数foreach循环通过窗体上的控件。然后我想在选中复选框时设置标签。 这是我到目前为止所得到的
foreach (Control myControl in col)
{
if (myControl == col[12])
{
if (myControl == CheckState.Checked)
{
col[13].Text = DateTime.Now.ToString();
myControl.Text = "Datum";
}
}
}
col [12]是复选框,col [13]是标签。嵌套的if循环不起作用。
我应该用什么来代替“myControl == Checkstate.Checked”?
预先感谢您的回复
答案 0 :(得分:2)
您需要首先将Control
转换为CheckBox
,然后检查其IsChecked
(WPF)属性,或Checked
属性(如果它是Windows窗体应用程序)
if (((CheckBox)myControl).IsChecked == CheckState.Checked)
您还需要检查Control
是否为CheckBox
if (myControl is CheckBox && ((CheckBox)myControl).IsChecked == CheckState.Checked)