• ベストアンサー

テキストボックスの項目チェックをする場合どのイベントで?

テキストボックスの入力内容が妥当か判断する場合はどのイベントで行いますか? 理想はチェックをしてエラーであれば、別のコントロールにフォーカスを移動させずに、現在のテキストボックスにフォーカスがある状態にしたいのです。 ACCESSのBeforeUpdateのようにキャンセルもでき、別のコントロールにフォーカスが移らずチェックするにはどのイベントでチェックすればよいですか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#5584
noname#5584
回答No.1

VB5.0以前なら_LostFocusイベントで、 6.0なら_LostFocusイベント、または、_Validateイベントで行うのが一般的なようです。 (.NETについては、識者のフォローを希望) ただし、どちらのイベントも、値の変更に関係なく、フォーカスの移動のみで発生しますので、値の変更を監視する場合は、_Changeイベントを使用してフラグを立てる等の工夫が必要になります。

matyap
質問者

補足

LostFocusイベントでチェックして、エラーの場合、フォーカスを移さないようにするにはどのようにすればよいか教えてくださいますか? 今、LostFocusイベントでSetFocusしているので、再度GotFocusが動いてしまいます。

その他の回答 (1)

noname#11856
noname#11856
回答No.2

結構前の質問なので今更かも知れませんが・・・。 #1さんの回答にもある _Validate イベントは試しましたか? これならCancel出来ますよ。

matyap
質問者

お礼

ありがとうございます。 VB5.0を使っております。_Validateイベントはないのですね。

関連するQ&A