Link to home
Start Free TrialLog in
Avatar of jflanner
jflanner

asked on

Need MouseEnter to work when left mouse is down

Hello Folks:

I have an event handler for Mouse Enter events.  It's pretty generic.
    Private Sub textboxBoggleDie00_MouseEnter(ByVal pSender As Object, ByVal e As System.EventArgs) _
    Handles textboxDie00.MouseEnter, _
                textboxDie01.MouseEnter, _
                textboxDie02.MouseEnter

        Dim Sender As Integer

        If LeftMouseDown Then
            Sender = Me.DieIndex(pSender.Name)
            Me.MouseEvent(Sender)
        Else
        End If

    End Sub

This works great if no mouse buttin is down as the mouse moves along.   But if the mouse is moved with the left mouse buttoin down, I never get control.
 
How can I get the mouse enter event to work with buttons down?
Avatar of Mike Tomlinson
Mike Tomlinson
Flag of United States of America image

Something like this:

    Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
        If e.Button = MouseButtons.Left Then
            ' mouse has moved in control while the left button was down
        End If
    End Sub

~IM
Avatar of jflanner
jflanner

ASKER

Hi Idle Mind:

This did not do the trick.  It behaves just as the MouseEnter did.  That is, I get control if the mouse moves within a textbox, and both mouse buttons are up.  I do not get control if either mouse button is down.

One weird thing - I do get control if I move around in the same control I left downed in.  But if I left down in another control, and move into the control with left mouse down, I do not get control.  (I prove this in the code below by setting a break point on the statement Sender = Me.DieIndex(pSender.Name).  Notice the IF structure I have surroinded htis with.)

My goal is to get control if the mouse enters the testbox while the mouse button is depressed.

My code is below.  Any more iseas???

    Private Sub MouseMove(ByVal pSender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
    Handles textboxBoggleDie00.MouseMove, _
                textboxBoggleDie01.MouseMove, _
                textboxBoggleDie02.MouseMove, _
                textboxBoggleDie03.MouseMove, _
                textboxBoggleDie10.MouseMove, _
                textboxBoggleDie11.MouseMove, _
                textboxBoggleDie12.MouseMove, _
                textboxBoggleDie13.MouseMove, _
                textboxBoggleDie20.MouseMove, _
                textboxBoggleDie21.MouseMove, _
                textboxBoggleDie22.MouseMove, _
                textboxBoggleDie23.MouseMove, _
                textboxBoggleDie30.MouseMove, _
                textboxBoggleDie31.MouseMove, _
                textboxBoggleDie32.MouseMove, _
                textboxBoggleDie33.MouseMove

        Dim Sender As Integer


        If e.Button = MouseButtons.Left Then
            'GARBAGE IF: limit to textboxBoggleDie00 for debugging
            If pSender.Name = "textboxBoggleDie00" Then
                'BREAK POINT SET HERE.
                Sender = Me.DieIndex(pSender.Name)
                Me.MouseEvent(Sender)
            Else
            End If
        Else
        End If

    End Sub
ASKER CERTIFIED SOLUTION
Avatar of Mike Tomlinson
Mike Tomlinson
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial