
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
タブキー押下時のイベントをひろいたい。
Visual Basic(VBA)
-
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
-
4
.NET - 配列変数を省略可能の引数にする方法
Visual Basic(VBA)
-
5
PreviewKeyDownイベントが2回発生する
Visual Basic(VBA)
-
6
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
7
VB.NET ボタン押下で一つ前のコントロールへ
Visual Basic(VBA)
-
8
VB.net 重複チェックがしたいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAでListViewが使用できない
-
EXCELでactivexコントロールを...
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
'ckbl' コントロールは作成され...
-
ExcelにてListviewが表示できない
-
C# ユーザコントロール内のボタ...
-
Groupboxの配下のコントロール...
-
VBA ユーザーフォームの Keypre...
-
エクセルVBAでオプションボタン...
-
vb.netで画面のコントロールId...
-
chr関数の呼び出しで「プロ...
-
Labelコントロールの(左右)余...
-
全てのオブジェクトのプロパテ...
-
VB6のユーザーコントロールがメ...
-
With~EndWithの省略部分と引数...
-
ExcelVBAのコントロールの種類...
-
ワークシート上のコントロール...
-
コントロールの絶対位置を取得...
-
無料で使えるグリッドコントロール
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELでactivexコントロールを...
-
'ckbl' コントロールは作成され...
-
エクセルVBAでオプションボタン...
-
ExcelVBAでListViewが使用できない
-
カメラスクロールするのを動画...
-
VBA ユーザーフォームの Keypre...
-
Excel VBA で Richtextboxを使...
-
エクセル・VBA CheckBoxのオブ...
-
チェックボックスをオンにした...
-
vb.netで画面のコントロールId...
-
コントロールを移動できない
-
OCXって何ですか?
-
C#で角が丸いテキストボックス
-
ユーザーフォームで動的(Me.Con...
-
C# Form上に配置されたコントロ...
-
ExcelVBAのコントロールの種類...
-
chr関数の呼び出しで「プロ...
-
変数をコントロール型で使用す...
-
ActiveXコントロールはどこへい...
-
Groupboxの配下のコントロール...
おすすめ情報