kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

今日はエラープロパイダ

お仕事で使えそうな便利ツールを作っていて、.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なんで…。
ただ、あの注意アイコンだと、ちょっと見づらいというか、わかりにくいという人がいるかもしれないので、たとえばコントロールの背景色を変えて!という人はいるかもしれない(私がやっているフレームワークではそうしています)。これも色の識別に難がある方にはわかりづらいので、その辺調整しないといけないですけどね。