ThinkGeo.com    |     Documentation    |     Premium Support

Map_MouseMove events freeze

Everything works fine, just like it should, but after it runs I lose my Map_MouseMove events. I tried Map.refresh but that had not affect. I have other Map_KeyPress events and they work fine. Only after I added this code do I lose my mouse move.


 



      If e.KeyChar = "R" Or _
        e.KeyChar = "r" Then
        If ROWDoc <> "UNK" Then
          If ROWMsg = False Then
            MessageBox.Show("Please note that the following Right of Way documents are for reference only." & Environment.NewLine & _
                            "Any interpretation of Right of Way/Easement documents shall be performed by the Right of Way Dept.", Environment.NewLine)
            ROWMsg = True
          End If
          If Directory.Exists("\\ROW IMAGES\") Then
            argstr = "\\ROW IMAGES" & ROWDoc
            If Directory.Exists(argstr & " (hard files match images)") Then
              argstr = argstr & " (hard files match images)"
            End If
            If ROWDoc.Length > 4 Then
              If ROWDoc.Substring(ROWDoc.Length - 4, 4) <> ".PDF" Then
                'strROWPth = Left(strROWPth, Len(strROWPth) - 1)
                'Me.Cursor = Cursors.WaitCursor
                'Debug.Print strA3
                If argstr <> "" Then System.Diagnostics.Process.Start("C:\Windows\Explorer.exe", argstr)
                'Me.Cursor = Cursors.Default
              Else
                If RegKeyAdobe <> "" Then
                  'Debug.Print strROWPth & strROW
                  If File.Exists(argstr) Then
                    If argstr <> "" Then System.Diagnostics.Process.Start(RegKeyIExplore, argstr)
                  Else
                    MessageBox.Show(ROWDoc & " was not found on our server." & Environment.NewLine & _
                                 "Please contact me for further assistance.", Environment.NewLine)
                  End If
                Else
                  Dim MSG As String = "No recognizable versions of Adobe Acrobat were found on your PC." & Environment.NewLine & _
                           "Would you like to install the latest version of Adobe Acrobat Reader?"
                  Dim caption As String = "Adobe Error!"
                  Dim result = MessageBox.Show(MSG, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                  If (result = Forms.DialogResult.Yes) Then
                    System.Diagnostics.Process.Start(RegKeyIExplore, "HTTP://get.adobe.com/reader/")
                  End If
                End If
              End If
            End If
          Else
            MessageBox.Show("Sorry, you must be connected to the local domain to view the Right-of-Way documents." & Environment.NewLine & _
                            "Please contact your system administrator for possible solutions to this issue.", "Network Error!", MessageBoxButtons.OK)
          End If
        Else
          MessageBox.Show("No documents are available for this segment at this time.", "Document Error!", MessageBoxButtons.OK)
        End If
      End If
      Map.MapFocusMode = MapFocusMode.MouseEnterFocused


Craig,  
  
 I would compare the code from your working KeyPress events to see what is different if this is the only KeyPress that causes the issue. 
 There is a property on the Map for the MapFocusMode so you might check what this is set to in Design View - Properties. 
 Also after you set the MapFocusMode= MouseEntered in that KeyPress Event you might setup a check to make sure this mode is ‘sticking’ and not being changed by some other event/action.

I fixed the first messagebox that had an environment.newline on the second line, but that did not help. I commented out the first messagebox completely and everything works fine. I have no idea what is going on with that.

Hi Craig,  
  
 When any of the other message boxes are encountered and closed do you have access to the Mouse_Move events? I would think this would be a problem with all of your message boxes, not just one.

On the MouseMove event if keypressed = 0 then give me my MouseMove control. On the KeyUp event I was setting keypressed to 0. On the KeyPress event I was NOT setting keypressed = 0. The system must be handling key press events in the following order, KeyDown, KeyUp, KeyPressed. I was trying to handle them as KeyDown, KeyPressed, KeyUp.

Hi Craig,


Thanks for this information!


My quick query to MSDN shows that the events occur in this order: KeyDown, KeyPress, KeyUp.

msdn.microsoft.com/en-us/lib...press.aspx



You might want to check into this documentation to make sure you are getting the results you expect.



If MSDN is correct then setting keypressed = 0 in the KeyUp event should have worked like I had it orignally, but it did not. Only after I added keypressed = 0 to the KeyPress event did it work. I can take keypressed = 0 out of the KeyUp event and it will work. I am not getting something here according to MSDN. So what I have now is keypressed = 0 in both KeyPress and KeyUp events allthough I do not think the KeyUp event even works. 
  
 Thanks Ryan

I would recommend setting up some simple test cases to verify as the code you originally provided does have a lot ‘going on’ and could be skewing your results. Perhaps their documentation is incorrect! Some simple tests should prove this one way or the other.