タイトル | : Re: マウス左クリック中にMouseEnterが発生しない |
記事No | : 11111 |
投稿日 | : 2013/07/31(Wed) 09:27 |
投稿者 | : shu |
マウスクリック => マウスの左ボタンを押して離す動作 マウスボタンを押した状態だと押したときのコントロールに対しマウスのイベントが 発生しますので全てのコントロールについてMouseMoveを実装してマウスの場所より 対象チェックボックス上であるか判断してチェックを付けるようにする必要があります。
Form上にCheckBox1〜5のみある場合の例です。 Panel1などの中にある場合はMe.を対象Panel1上であるか判断してなおかつ Me.をPanel1.にして階層的にチェックを行う必要があります。
Private Sub AllControl_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CheckBox1.MouseMove, CheckBox2.MouseMove, CheckBox3.MouseMove, CheckBox4.MouseMove, CheckBox5.MouseMove, Me.MouseMove
Dim cl = Me.GetChildAtPoint(Me.PointToClient(Control.MousePosition))
If TypeOf cl Is CheckBox Then With DirectCast(cl, CheckBox) Select Case e.Button Case Windows.Forms.MouseButtons.Left .Checked = True Case Windows.Forms.MouseButtons.Right .Checked = False End Select End With End If End Sub
|