2009-08-21 21 views
2

.NET WinFormsアプリケーション内でボタンのインスタンスを作成すると、.CausesValidationプロパティがTrueに設定されます。検証イベントを発生させるためにすべてのボタンが使用されるのはなぜですか?デフォルトでは、_Validatingイベントを含むフォーム上のすべてのコントロールは、ボタンが単にフォーカスを得るたびに呼び出されるイベントを持ちますか?ボタンの.CausesValidationがTrueに設定されているのはなぜですか?

が少しボタンにフォーカスを得ていないバリデーションイベントを呼び出すには?特にデフォルトでは?ボタンをクリックすると、検証が行われるより適切なデフォルト時間のように思えます。

WinFormsの検証パターンを正しく理解しているかどうか確認したいと思っています。

答えて

3

私はそれが2つの悪の中で最も安全だと思います。多くの場合、ボタンはデータを処理します。この方法では、何もしなければ、デフォルトでデータの検証が行われ、実際に検証する必要がない場合は、(動作しないため)かなり明白になります。

代わりに何もしないで、あなたのボタンは無意味なデータに対するアクションを正常に実行しますが、微妙なので注意しません。

少し刺激を引き起こしても、最初はおそらくより安全です。

関連する問題