7

VB .NETテキストボックスの検証ロジックをコーディングする場合、どのイベントハンドラーを使用するのが適切ですか?検証するか、残すか?

私が理解していることから、それらは両方とも同時に発生します。ただし、次の記事によると:MSDN:Control.Leave Event、Leaveイベントは検証イベントの直前に発生します。これにより、最初に発生するので、Leaveイベントを使用したいと最初に思います。

ただし、コードを読みやすくするために、すべての検証コードをValidatingイベントに配置することは理にかなっています。

では、効率と業界標準の両方の観点から、どちらがより良いオプションですか?

4

2 に答える 2

9

常にValidatingイベントを使用する必要があります。これは、検証をサポートするために作成されました。フォーカスの変更を妨げない場合は、少なくともCausesValidationプロパティについて。たとえば、ダイアログの[キャンセル]ボタンでFalseに設定したもの。ユーザーがダイアログを閉じることを決定したときに、何かを検証しても意味がありません。

于 2012-11-15T21:50:38.310 に答える
2

Validatingイベントは検証用に設計されています。テキストが無効な場合は、e.Cancel = Trueに設定すると、テキストボックスにフォーカスが移動します。Leave単なる通知です。

于 2012-11-15T21:42:15.360 に答える