2007年11月20日火曜日

[.NET]カスタムコントロールに新しいイベントを

仕事中、こんな相談を受けました。要約すると以下のとおりです。

  1. TextBoxの拡張版のコントロールを作成
  2. リターンキーを独自で処理する
  3. リターンキー押下時に連携するコントロールの入力をチェックする
  4. エラーがあったらErrorProvider風のエラー処理をする
というものでした。しかし「4」の工程でエラーの表現を独自のもの(表現)にしたい場合もある。という話があったので、「あぁ、そのコントロールに新しいイベント実装したら?」とアドバイスしました。
イベントが設定されていたらソイツを呼び出し、そうじゃなかったらコントロール内で処理すりゃいいってことになります。

・・・とは言ったものの、はて?どうやって実装すればいいんだろう?説明した相手も、「じゃあどうやって?」っていうような顔をしていました。でその人は「ちょっと調べてみます」といって去っていきました。

私も気になって調べてみました。すると意外と簡単に実装できそうなことがわかりました。
以下、参考になりそうなサイトです。

でもこういう実装をした場合、VS.NET上どのようになるんだろう?プロパティみたいに連携しそうな予感が。。。ちょっと見てみたい。もうWPFの時代が目の前ですが、そのうちサンプルを作成してみようと思います。

0 件のコメント: