マウスのダブルクリックで左右のボタンを判断

解決


さんちょ  2003-12-20 22:10:02  No: 81058  IP: [192.*.*.*]

環境:VB.NET2003 & Win2000 SP3
マウスのダブルクリックって左右どちらのボタンでもイベントが発生してしまう
けど、イベントの引数なんかから、左右のボタンどちらのイベントかって判断する事ってできますか?もしくはMouseDownからクリック回数で判断するしかないのかな?
どなたか教えてください。

編集 削除
mady  2003-12-21 14:26:44  No: 81059  IP: [192.*.*.*]

単純に1つのイベントでは実現できないかも…
それっぽい事をするサンプルです。
スマートではないですけど。

Dim flg
Private Sub Form_DblClick()
    MsgBox flg
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    flg = Button
End Sub

編集 削除
さんちょ  2003-12-22 09:53:32  No: 81060  IP: [192.*.*.*]

madyさん。ありがとうございました。
無事解決です。

Private Sub NotyfiIcon1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick

  If sender.GetType Is NotifyIcon1.GetType Then
     If mButton = MouseButtons.Right Then
        ' 右ボタンなら処理無し
        Exit Sub
     End If
  End If

End Sub

Private Sub NotifyIcon1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseUp

  ' ダブルクリックに備えてMouseを操作したボタン名を保持
  mButton = e.Button

End Sub

編集 削除