お仕事で使えそうな便利ツールを作っていて、.NETのエラープロパイダを使ってみる。これ便利ですね(何を今更)。
private void textControl_validate(object sender, CancelEventArgs e)
{
if(textControl.Text == "") {
e.Cancel = true;
errorProvider1.SetError(textControl, "空白です。なんか書いて");
}
}
private void textControl_validated(object sender, System.EventArgs e)
{
errorProvider1.SetError(textControl, "");
}
private void btnOK_Click(object sender, EventArgs e)
{
//終了処理
}ええ、実はこのエラープロパイダのこと知らなくて、OKボタンのclickイベントでテキストコントロールが空の時、どうやってダイアログの終了をキャンセルするのか、10分くらい悩んだのですorz。頭がまだWindows SDKなんで…。
ただ、あの注意アイコンだと、ちょっと見づらいというか、わかりにくいという人がいるかもしれないので、たとえばコントロールの背景色を変えて!という人はいるかもしれない(私がやっているフレームワークではそうしています)。これも色の識別に難がある方にはわかりづらいので、その辺調整しないといけないですけどね。