• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォーカスの制御)

フォーカスの制御

このQ&Aのポイント
  • VB6.0において、フォーム上でのフォーカス制御について質問があります。
  • 現在、フォームが大きいため、ピクチャーボックスにスクロールバーを付けて対応しています。
  • しかし、入力中に誤ってフォームをクリックしてしまうとフォーカスがピクチャーボックスに移動してしまいます。

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

  • ベストアンサー
noname#187541
noname#187541
回答No.2

すみません。確認途中でアップしてしまいました。 サンプルコードは無視してください。書き直します。 Public Class Form1 Dim Flag As Integer Private Sub Form1_Load(ByVal sender As _ Object, ByVal e As System.EventArgs) Handles Me.Load Flag = 1 End Sub Private Sub Form1_Click(ByVal sender As _ Object, ByVal e As System.EventArgs) Handles Me.Click If Flag = 2 Then Exit Sub 処理 End Sub Private Sub TextBox1_Enter(ByVal sender As _ Object, ByVal e As System.EventArgs) _ Handles TextBox1.Enter, TextBox2.Enter Flag = 2 End Sub Private Sub TextBox1_Validated(ByVal sender As _ Object, ByVal e As System.EventArgs) _ Handles TextBox1.Validated, TextBox2.Validated Flag = 1 End Sub End Class

その他の回答 (1)

noname#187541
noname#187541
回答No.1

こんばんは。 フラグを用意しておいて、フォームのクリックイベントでフラグを利用してキャンセルできるようにするというのはどうでしょうか。 Public Class Form1 Private Sub Form1_Click(ByVal sender As _ Object, ByVal e As System.EventArgs) Handles Me.Click MsgBox("Click!") End Sub Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter, TextBox2.Enter Me.t() End Sub Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated, TextBox2.Validated Me.CausesValidation = True End Sub End Class

関連するQ&A