- 題名: マウスクリックなのにMouseMoveイベントが発生してしまう
- 日時: 2013/07/05 13:45:27
- ID: 31699
- この記事の返信元:
- (なし)
- この記事への返信:
- [31701] Re[1]: マウスクリックなのにMouseMoveイベントが発生してしまう2013/07/05 14:39:35
- ツリーを表示
■No31699に返信(ぼんさんさんの記事) こんな感じでどうでしょう? Private prept As Point Private menushow As Boolean = False Private Sub Form1_MenuStart(sender As Object, e As System.EventArgs) Handles Me.MenuStart menushow = True End Sub Private Sub Form1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove If e.Button = MouseButtons.Left AndAlso Not menushow AndAlso prept <> e.Location Then Debug.WriteLine("Mouse:" + e.Location.ToString) End If menushow = False prept = e.Location End Sub
分類:[.NET]
MouseMoveイベントの質問です。
クライアント領域内でマウスの左ボタンをドラッグしている時だけ
特定の処理をするようなプログラムを作成しているのですが、
ウィンドウタイトルバー上で右クリックしてメニュー(ウィンドウサイズ変更や移動等の奴です)を表示した状態で
ドラッグ等はせずにクライアント領域内で左クリックすると、
MouseClickではなくMouseMoveイベントが発生してしまい
特定処理を行なってしまいます。
これを防ぐにはどうすればよいでしょうか?
(タイトルバー上で左クリック→クライアント領域で左クリックは問題ありません。)
マウス 右クリックメニュー MouseMove等で検索をかけたのですが
残念ながら対策は見つかりませんでした。
↓テスト用でMouseMoveイベント内に仕掛けた処理です。
If e.Button = MouseButtons.Left Then
Debug.WriteLine("Mouse:" + e.Location.ToString)
End If
よろしくお願いします。