小さなウィンドウフォームアプリケーションには2つのラジオボタンがあり、最初はどちらもチェックされていません。そのうちの1つがチェックされるまで、「実行」ボタンを無効にする必要があります。WinFormsフォームのタイマーコンポーネントを使用してラジオボタンの状態を確認し、ボタンを有効/無効にすることはできますか?
私はこれを得るための非常に簡単な方法を見つけましたが、ランダムなクラッシュのために自分自身を設定しているかどうかはわかりません。
が、私はそれを可能にし、タイマーコンポーネントを追加し、Tickイベントに:この方法が有効かどうか、私は「場合
private void timer1_Tick(object sender, EventArgs e)
{
bool canGo = (_usRadioButton.Checked || _intlRadioButton.Checked);
if (_goButton.Enabled != canGo)
{
_goButton.Enabled = canGo;
}
}
私はこれを行うには、他の方法がある知っている、私は好奇心が強いですフォームがチェックボックスのいずれかでCheckedプロパティを更新していると同時に、タイマーが起動しているときにエンドユーザーが例外をスローすることになりますか?
OK、Tickイベントがフォームのスレッドにあると言っています。これはおそらく質問していたはずの質問です(私はそれを考えていました)。 –
はい。しかし、それは「私が知る限り」だけです。おそらく、[Skeet](http://stackoverflow.com/users/22656/jon-skeet)または[Hans](http://stackoverflow.com/users/17034/hans-passant)を待つ方が良いでしょう。それは確かに答えてください。 – ispiro
+1勇気のために+1 –