我的小窗口窗体应用程序有两个单选按钮,最初都没有被检查。在检查其中一个之前,应该禁用“Go”按钮。我可以使用WinForms Form中的计时器组件来检查单选按钮的状态并启用/禁用按钮吗?
我发现了一个非常简单的方法来获得这个,但我不知道如果我设置自己随机崩溃。
我加了一个定时器组件,启用,并在Tick事件:
private void timer1_Tick(object sender, EventArgs e)
{
bool canGo = (_usRadioButton.Checked || _intlRadioButton.Checked);
if (_goButton.Enabled != canGo)
{
_goButton.Enabled = canGo;
}
}
我知道有其他方法可以做到这一点,我只是好奇,如果这种方式是有效的,或者如果我当定时器同时触发窗体更新其中一个复选框的Checked属性时,m是否会有最终用户抛出异常?
好吧,你是说Tick事件在窗体的线程上,这可能是我应该问的问题(我在想它)。 – 2012-02-07 16:29:33
是的。但那只是“据我所知”。也许你最好等待[Skeet](http://stackoverflow.com/users/22656/jon-skeet)或[Hans](http://stackoverflow.com/users/17034/hans-passant)到肯定地回答。 – ispiro 2012-02-07 16:33:44
勇敢的+1 :) – 2012-02-07 16:34:19