No.1ベストアンサー
- 回答日時:
ここでいう検証というのは,コントロールの値がその項目に関して正しいかどうかの検証です。
例えば,電話番号を入力する欄に数字以外が入っていたら,そのコントロールの値は不正となります。
# 何が正しいかは,プログラマが決定します。
Validatingイベントは入力された内容を検証するためのイベントです。
検証結果が正しくなかった場合は,
・e.Cancelの値をTrueにする
・関連するErrorProviderに,検証に失敗した理由を設定する
という処理を行います。
Validatedイベントは,Validatingイベントで検証が失敗しなかった場合に発生する後始末用のイベントです。
・関連するErrorProviderから,値を除去する
という処理を行います。
これらのイベントは,CausesValidationプロパティがTrueのコントロールで発生します。
入力の無いコントロールや,自由入力欄の様なコントロールでは,CausesValidationをFalseに設定することで,不要な検証をしないことができます。
MSDNのサンプルコードなども実行してみると,どういうものかがわかると思います。
個人的にはWinFormsといえどもデータバインディングで処理を行うため,
Validating/Validatedイベントを使うことはないです。
データバインドさせるオブジェクトで当然検証を行いますが,
だいたいは処理可能・不可能を意味するプロパティで検証結果を代替しています。
# IDataErrorInfoが必要なほどリッチなエラー情報を扱っていない……・。
References)
MSDN: Control.Validating イベント (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library/system.w …
MSDN: Windows フォームでのユーザー入力の検証
http://msdn.microsoft.com/ja-jp/library/ms229603 …
Blog: エラーチェックの体系的な分類と実装パターン - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
http://blogs.msdn.com/b/nakama/archive/2009/09/2 …
Blog: 双方向データバインドによる単体入力エラーチェック - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
http://blogs.msdn.com/b/nakama/archive/2009/02/2 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 Purpose: The tissue-engineered bone consisting of 1 2022/12/30 11:56
- 車検・修理・メンテナンス 先日車を購入した際、車検証ももらいました(ディーラーが車検証の手続きをした)。しかし、「使用者の住所 9 2022/06/12 22:34
- その他(悩み相談・人生相談) 風俗に行く人に質問です!!! 初めて風俗に行ってみようと思っています!! 初めてなので風俗選びに困っ 4 2023/02/17 20:38
- その他(教育・科学・学問) 大学教員採用選考について 3 2022/10/01 15:40
- 発達障害・ダウン症・自閉症 精神科 信憑性 8 2023/07/02 02:29
- 就職 就活に関して 2 2023/02/13 21:46
- 労働相談 長文になりますが、わかる方教えてください。 先日、体調が悪く会社を欠勤しました。 会社から病院の領収 2 2022/07/27 23:26
- 労働相談 長文になりますが、わかる方教えてください。 先日、体調が悪く会社を欠勤しました。 会社から病院の領収 2 2022/07/27 23:30
- IT・エンジニアリング インフラエンジニア(ネットワークエンジニア)の検証業務について教えてください。 インフラ初心者なので 2 2022/06/26 00:08
- 警察・消防 身内が検事の取り調べで3発殴ったと調書に書きましたが監視カメラの映像だと5発だったので 調書に検事に 2 2023/06/01 18:54
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
Visual Basic 6.0 コンボボックスのChangeイベントが発生しません
Visual Basic(VBA)
-
-
4
Statement ignored というエラー
Oracle
-
5
テキストボックスの中身をリセット(クリア)したい
Visual Basic(VBA)
-
6
小数点を含む数値かどうか判断の判断方法
Visual Basic(VBA)
-
7
DataGridViewのセル編集完了後に値を設定するには
Visual Basic(VBA)
-
8
CASE文のエラーについて
Oracle
-
9
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
10
CloseとDisposeの違い
Visual Basic(VBA)
-
11
DataGridViewで入力チェック後、フォーカスをあてたい
Visual Basic(VBA)
-
12
DoEventsがやはり分からない
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
フォーム上の現在アクティブな...
-
アクセス特有の書き方?
-
VB .net Panelコントロールにラ...
-
VBAのフォームでTextBoxがいっ...
-
C# Form上に配置されたコントロ...
-
ACCESS2010のVBAでフォーム内ク...
-
NumericUpDownコントロールに数...
-
(VBA)スピンボタンの大量...
-
自マシンのIPアドレスを変更す...
-
chr関数の呼び出しで「プロ...
-
VBAでオプションボタンを透過
-
VBAでドラッグ・アンド・ドロップ
-
コンボボックスの文字によるif...
-
ビープ音鳴らし続けたい。
-
イメージコントロールに 読み込...
-
コントロール配列と同じような...
-
Excel 2002でチェックボックス...
-
tagプロパティについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
(VBA)スピンボタンの大量...
-
エクセルVBAでオプションボタン...
-
C#で角が丸いテキストボックス
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
VBAのエラーについて、”実行時...
-
コンボボックスの文字によるif...
-
変数をコントロール型で使用す...
-
chr関数の呼び出しで「プロ...
-
With~EndWithの省略部分と引数...
-
C#で自分のウインド・ハンド...
-
excelのリストボックスで選択し...
-
'ckbl' コントロールは作成され...
-
フォーム上の現在アクティブな...
おすすめ情報