Welcome to MapForums!

Register, sign in, or use Facebook Connect above to join in and participate in the forum.

When you are signed in, this message, the ads in this row, and the red-underlined link ads all go away.

Subscribe to receive our newsletter.
Subscribe Unsubscribe
Results 1 to 2 of 2

Problem recognizing a keystroke

This is a discussion on Problem recognizing a keystroke within the MapPoint Desktop Discussion forums, part of the Map Forums category; Hi, In Visual Studio 2003 and C# 1.0, I set KeyPreview to true for the form, so that while a ...

  1. #1
    BobFromBoston is offline Senior Member Green Belt
    Join Date
    Jul 2005
    Posts
    128

    Problem recognizing a keystroke

    Hi,

    In Visual Studio 2003 and C# 1.0, I set KeyPreview to true for the form, so that while a form has the focus, I can get notified when a user presses a key on the keyboard, thusly:

    private void MyForm_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    switch ( e.KeyCode )
    {
    case Keys.F5: break;
    case Keys.F6: break;
    case Keys.F7: break;
    }
    }

    In this way, everything was working fine. But then I needed a MapPoint control on that form, and since I've added it, my ability to detect
    the keyboard has been compromised. Now, it only works after I have opened a client form with a button click or clicked on a ListBox control on the form. From then on, keystrokes are detected fine. But I'd like it to work the first time, and without needing to know to click in these places. Clicking the form does not have the same effect as clicking in the controls I mentioned.

    My question is what change can I make to the form or the control to allow me to fix this? It's puzzling, but I he there's a simple fix to it.

    Thanks for the help.

  2. #2
    BobFromBoston is offline Senior Member Green Belt
    Join Date
    Jul 2005
    Posts
    128

    I have more information about my problem

    It seems, as one would expect, the focus is set to the new MapPoint cntrol, after it's initialized in my FORM_LOAD() function. And so long as the focus is on the control, the form's KeyUp event can not intercept the keystroke. While this is perfectly understandable, I can not understand why I am not able to programmatically change the focus to another control.

    When I load the program, the F5 key does not work. But when I click inside a listbox, and move the focus away from MapPoint, the F5 does work. If I move the focus back to the MapPoint control, the F5 stops working. That's all fins and good. But why can I not move the focus with the Focus() method for the listbox? Why does that not do that same thing?

    Thanks.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96