私はVBでフォームの検証を行っています、私はtxtName_LostFocus
機能を使用して、テキストフィールドのデータを検証し、間違った入力に私はtxtName.Focus()
を使用。それは私のためにうまくいく。しかし問題は、ユーザーが有効なテキストを入力しない限り、私のEXITボタンも機能しないことです。このソリューションを修正するための解決策はありますか?VBフォームの検証の問題
答えて
問題は、ドキュメントを慎重に読んでいないことが原因です。 LostFocus
eventのためのドキュメントは、このイベントのためのハンドラメソッドでは(例えば、Focus
method呼び出すことで)あなたがない試みがフォーカスを設定する必要があることを非常に明確にする:
注意
ないでくださいEnter、GotFocus、Leave、LostFocus、Validating、またはValidatedイベントハンドラ内からフォーカスを設定しようとしました。そうすると、アプリケーションまたはオペレーティングシステムが応答を停止する可能性があります。詳細については、http://msdn.microsoft.com/libraryにあるMSDNライブラリの「メッセージとメッセージキューについて」のトピックの「キーボード入力リファレンス」セクションの「
WM_KILLFOCUS
」トピックと「メッセージデッドロック」セクションを参照してください。
より良い解決策は、Validating
eventを処理することです。入力は、Validating
イベントハンドラメソッドで検証されます。これは、.NET Frameworkによって自動的に呼び出されます。
入力が有効な場合は何も行いません。入力がない有効である場合は、下流の事象のすべてを抑制することが原因、true
にCancelEventArgs
パラメータのCancel
プロパティを設定します。
Private Sub myTextBox_Validating(ByVal sender As Object, _
ByVal e As ComponentModel.CancelEventArgs) _
Handles myTextBox.Validating
If Not Valid(myTextBox.Text) Then
' Validation failed, so cancel the event and pre-select the text.
e.Cancel = True
myTextBox.Select(0, myTextBox.Text.Length)
' Optionally (but recommended): Set an ErrorProvider control.
' errorProvider.SetError(myTextBox, "Invalid input")
End If
End Sub
正常に動作しますが、ユーザーは有効な情報まで終了できません。そのユーザーはフォームを離れる/出る可能性があります。間違ったテキストを入力してもかまいません。 –
@Shahそれもリンクされたドキュメントに記載されています。 "Exit"ボタンの 'CausesValidation'プロパティ(および他の任意のコントロール)を' true'に設定すると、 'Validating'イベントまたは' Validated'イベントが発生しません。 –
- 1. フォーム検証イベントの問題
- 2. Parsley.JSフォーム検証の問題
- 3. Javascriptフォームの検証問題
- 4. macOSアプリケーションのフォーム検証の問題
- 5. Laravel 5.2フォームの検証リダイレクトの問題
- 6. HTMLのフォーム検証の問題
- 7. PHPフォームの検証の問題
- 8. Javascriptフォームの検証(返品問題)
- 9. 窓フォーム検証の問題(.NET2.0)
- 10. Symfony2エンベデッドコントローラとフォーム検証の問題
- 11. Javascriptフォーム検証送信ボタンの問題
- 12. OctoberCMSフォーム検証アラートの問題
- 13. フォーム検証での問題 - Ruby on Rails
- 14. Codeigniterフォーム検証コールバックルールの問題
- 15. Codeigniterフォーム検証コールバックの問題
- 16. PHPフォーム、MailFonction、Google reCaptcha検証問題
- 17. Codeigniterフォームの検証とフォームのドロップダウンの問題
- 18. 検証の問題
- 19. 検証の問題
- 20. タンク認証値、set_value、およびフォーム検証の問題
- 21. 検証問題
- 22. 問題検証
- 23. フォーム認証の問題
- 24. フォーム検証の質問
- 25. ExtJsフォーム検証の質問
- 26. のInfoPath検証の問題
- 27. JavaScriptの検証の問題
- 28. jQueryの検証の問題
- 29. VBラベルテキストの問題
- 30. VBクエリの問題
あなたが正確に何をやっているコードを配置することができます。 – coder