如何从运行时添加的复选框中获取检查状态

时间:2014-01-29 19:13:19

标签: c# checkbox collections runtime

您好我在获取运行时添加的复选框的状态时遇到问题。选中/取消选中复选框时会触发事件。从事件调用的函数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”?

预先感谢您的回复

1 个答案:

答案 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)