2008年11月27日木曜日

[.NET]場合によりRadioButtonの変更を拒否する

先日、WindowsFormの仕事をしていました。画面にRadioButtonがあるのですが、とある状態のときチェックを変更させたくない。という要件がありました。納品ギリギリだったので、調べるまもなくClickChangedの中で処理しました。後日、本来あるべきか手法を調べようと思っており、今日思い立ちましたので調査してみました。

すると、Validatingというイベントがあり、このイベント引数を操作することによりキャンセルできることがわかりました。コードはこんな感じ(現在秒が2で割り切れない場合キャンセルします)。

private void radioButton1_Validating(object sender, CancelEventArgs e)
{
    e.Cancel = DateTime.Now.Second % 2 == 0;
}



・・・こんな簡単なら調査に時間割けばよかった。とほほ。

0 件のコメント: