【发布时间】:2012-05-04 02:04:25
【问题描述】:
您好,我正在尝试对一些复选框进行编程,以编程方式以特定顺序选中和取消选中。我知道这听起来很愚蠢,但这与我已经编写了检查事件的一些 LED 控件相对应。
我想选中一个复选框来启动这个序列,取消选中它来停止它。目前,我的 D2 复选框的选中和取消选中正常,但do while 循环冻结了表单,因此我实际上无法取消选中循环框。我可能也不应该使用Thread.Sleep。任何建议表示赞赏。
private void cycleCheckBox_CheckedChanged(object sender, EventArgs e)
{
do
{
D2.Checked = true;
Thread.Sleep(1000);
D2.Checked = false;
Thread.Sleep(1000);
} while (cycleCheckBox.Checked);
}
【问题讨论】:
-
尝试使用不同的技术来退出循环,在循环中放置一个计数器并在 10 后退出。我相信这是在 UI 线程中执行的,因此当您调用 sleep 时,UI 很可能会休眠,从而很难退出循环。您可能必须将循环中的逻辑移动到另一个线程中。
标签: c# loops checkbox sequence