2009 年 2 月 19 日
ErrorProviderの自分メモ
.NET Frameworkの流儀に従うならば、バリデーションチェックはErrorProviderクラス(System.Windows.Forms)を使うのが粋ってものらしい。
ならば一度使ってみるかと思い初体験してみた
え、今まで何で使ってないんだって…C#でバリデーションの必要なUI作るの初めてだし、Compact Frameworkにはないしね~と言い訳
デモプログラムなんで、入力は一箇所だし非常に簡単なので以下のあたりを参考に適当に実装してみた。
ほぉ、簡単にできるなぁ~入力異常時に表示されるデフォルトのアイコンがちょっとウザイけど…まぁ、こんなもんだろうと。
ところが…エラーがある状態だとウィンドウクローズでプログラムの終了ができない罠
フォームのAutoValidateプロパティがデフォルトでEnablePreventFocusChangeになっているためのようです。かと言って、他のに変えるのも面倒だし…と言うことで検索。
おぉ、すごいちゃんとカスタムコントロール化してる人が居るじゃないですかぁ。
ちょっとソースを拝見…ここまでのものは今は要らないけどテストプログラムも付いてるので動きを見るのに最高です
で、少し追ってみると
なるほど、エラーがある状態でもプログラム終了できるようにしたければ…フォームのCloseingイベントでe.Cancelをfalseにしちゃえば良いみたいですね
![]() |
C#クックブック 第3版 鈴木 幸敏 by G-Tools |
トラックバック URL :



