0

ErrorProviderの赤い感嘆符が好きで、問題がどこにあるかをユーザーに示すために使用したいと思います。また、フォームのデータが無効な場合は、[更新]ボタンを無効にする必要があるという要件もあります。すべてのテキストボックスのTextChangedイベントで[更新]ボタンを無効/有効にします。ErrorProviderは、すべてのテキストボックスのイベントの検証から使用する必要があります。

問題:最後のテキストボックスに間違ったデータを入力すると、[更新]ボタンは引き続き無効になりますが、ユーザーがコントロールを離れていないため、ErrorProviderは表示されません。この場合、私は何ができますか?「なぜ更新が無効になっているのに、ウィンドウのどこにも感嘆符がないのか」と尋ねるユーザーからの混乱を最小限に抑えるにはどうすればよいですか。

4

1 に答える 1

1

TextChanged イベントで最後のテキスト ボックス (またはすべて) を検証できます。ユーザーが検証に値する何かを入力するのを待つために、次のことができます。

  1. TextChanged で検証を有効にする前に、指定された最小数の入力文字を待機する、または
  2. TextChanged でタイマーを開始し、各 TextChanged イベントでタイマーを再起動します。たとえば、3 秒間隔で、このタイマーが起動し、テキスト ボックスが空でない場合、検証を行うことができます。
于 2012-06-13T22:53:17.760 に答える