ErrorProviderの自分メモ

.NET Frameworkの流儀に従うならば、バリデーションチェックはErrorProviderクラス(System.Windows.Forms)を使うのが粋ってものらしい。

ならば一度使ってみるかと思い初体験してみた :) え、今まで何で使ってないんだって…C#でバリデーションの必要なUI作るの初めてだし、Compact Frameworkにはないしね~と言い訳 ;)

デモプログラムなんで、入力は一箇所だし非常に簡単なので以下のあたりを参考に適当に実装してみた。

ほぉ、簡単にできるなぁ~入力異常時に表示されるデフォルトのアイコンがちょっとウザイけど…まぁ、こんなもんだろうと。

ところが…エラーがある状態だとウィンドウクローズでプログラムの終了ができない罠 :shock:

フォームのAutoValidateプロパティがデフォルトでEnablePreventFocusChangeになっているためのようです。かと言って、他のに変えるのも面倒だし…と言うことで検索。

おぉ、すごいちゃんとカスタムコントロール化してる人が居るじゃないですかぁ。

ちょっとソースを拝見…ここまでのものは今は要らないけどテストプログラムも付いてるので動きを見るのに最高です :!:

で、少し追ってみると :idea: なるほど、エラーがある状態でもプログラム終了できるようにしたければ…フォームのCloseingイベントでe.Cancelをfalseにしちゃえば良いみたいですね ;)

C#クックブック 第3版 C#クックブック 第3版
鈴木 幸敏

絶対現場主義Visual C#実践講座―開発の現場から生まれた実践テクニック&TIPS集 LINQテクノロジ入門~Microsoft Visual Studio 2008による新たなクエリ構築技法~ (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ) (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ) Microsoft Silverlight 2テクノロジ入門 (マイクロソフト公式解説書) C#エッセンシャルズ 第2版 プログラミングMicrosoft ASP.NET 3.5 (マイクロソフト公式解説書 Microsoft Visual Studi)
by G-Tools

Be Sociable, Share!

TrackBack URL :

No comments yet. Be the first.

Leave a reply