下記のようにfor nextで10000をカウント中にkeyUp及びmouseUpでそれぞれ
メッセージボックスにそれなりの値を表示させるようにしていますが、フォームに
何も貼り付けていない場合はうまくいくのですが、リストビューを貼り付けると
keyUpが反応してくれません。(mouseUpは反応してくれる)
リストビューのプロパティー設定に問題があるのでしょうか?
どなたか教えていただけませんでしょうか。
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
Dim i
For i = 1 To 10000
Debug.WriteLine(i)
Application.DoEvents()
Next
End Sub
Private Sub Form_MouseUp(ByVal sender As Object, _
ByVal e As MouseEventArgs) Handles MyBase.MouseUp
'マウスの右が押された場合の処理
Dim Count As Integer
If e.Button = MouseButtons.Right Then
Count = Count + 1
MessageBox.Show(Count)
End If
End Sub
Private Sub Form_KeyUp(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
Dim vbKeyRET As Integer = &HD 'RETキー
Dim vbKeyESC As Integer = &H1B 'ESCキー
Dim vbKeyF2 As Integer = &H71 'F2キー
Dim vbKeyF4 As Integer = &H73 'F4キー
Dim vbKeyF6 As Integer = &H75 'F6キー
Dim vbKeyF8 As Integer = &H77 'F8キー
Dim vbKeyF10 As Integer = &H79 'F10キー
Dim K_code As Integer 'キーコード
Select Case e.KeyCode
Case vbKeyF2
'K_code = vbKeyF2
MessageBox.Show("F2")
Case vbKeyF4
'K_code = vbKeyF4
MessageBox.Show("F4")
Case vbKeyF6
'K_code = vbKeyF6
MessageBox.Show("F6")
Case vbKeyF8
'K_code = vbKeyF8
MessageBox.Show("F8")
Case vbKeyF10
'K_code = vbKeyF10
MessageBox.Show("F10")
End Select
End Sub
ListView を貼り付けた為、Key 〜 イベントが全て ListView に対して
発生しているんだと思います。
Form の KeyPreview プロパティを True にする事で回避可能かと。
早速の回答ありがとうございます。
KeyPreview プロパティを True にしてうまくいきました。
本当にありがとうございました。
ツイート | ![]() |