我要实现的功能就是 当我按下 左方向键的时候,程序实现shift+tab的功能,就是当按下左方向键的时候当前的焦点跳转到上一个控件上面(shift+tab的功能)
想了很就也没有结果,请各位有没有好的办法!
谢谢

解决方案 »

  1.   

    楼主可以考虑用 System.Windows.Forms.SendKeys 或API实现组合键[DllImport("user32.dll")]
    static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
       UIntPtr dwExtraInfo);
      

  2.   

    .net对组合键好象不太好,就用一楼的api吧!
      

  3.   

    谢谢
    weisunding(鼎鼎) 和lyb_abiandbel(渴望成为高手) 
    可是api我接触的比较少,
    [DllImport("user32.dll")]
    static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
    UIntPtr dwExtraInfo);
    在c#中该如何使用?
      

  4.   

    //换下一个键
    void PressKey( byte keyCode )
        {
            const int KEYEVENTF_EXTENDEDKEY = 0x1;
            const int KEYEVENTF_KEYUP       = 0x2;
            keybd_event( keyCode, 0x45, KEYEVENTF_EXTENDEDKEY, 0 );
            keybd_event( keyCode, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
        }组合键其实是
    keybd_event( keyCode_A, 0x45, KEYEVENTF_EXTENDEDKEY, 0 );
    keybd_event( keyCode_B, 0x45, KEYEVENTF_EXTENDEDKEY, 0 );
    keybd_event( keyCode_B, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
    keybd_event( keyCode_A, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );enum VK {
        SHIFT        = 0x10,
        CONTROL          = 0x11,
        MENU         = 0x12,
        ESCAPE           = 0x1B,
        BACK         = 0x08,
        TAB          = 0x09,
        RETURN           = 0x0D,
        PRIOR        = 0x21,
        NEXT         = 0x22,
        END          = 0x23,
        HOME         = 0x24,
        LEFT         = 0x25,
        UP           = 0x26,
        RIGHT        = 0x27,
        DOWN         = 0x28,
        SELECT           = 0x29,
        PRINT        = 0x2A,
        EXECUTE          = 0x2B,
        SNAPSHOT         = 0x2C,
        INSERT           = 0x2D,
        DELETE           = 0x2E,
        HELP         = 0x2F,
        NUMPAD0          = 0x60,
        NUMPAD1          = 0x61,
        NUMPAD2          = 0x62,
        NUMPAD3          = 0x63,
        NUMPAD4          = 0x64,
        NUMPAD5          = 0x65,
        NUMPAD6          = 0x66,
        NUMPAD7          = 0x67,
        NUMPAD8          = 0x68,
        NUMPAD9          = 0x69,
        MULTIPLY         = 0x6A,
        ADD          = 0x6B,
        SEPARATOR        = 0x6C,
        SUBTRACT         = 0x6D,
        DECIMAL          = 0x6E,
        DIVIDE           = 0x6F,
        F1           = 0x70,
        F2           = 0x71,
        F3           = 0x72,
        F4           = 0x73,
        F5           = 0x74,
        F6           = 0x75,
        F7           = 0x76,
        F8           = 0x77,
        F9           = 0x78,
        F10          = 0x79,
        F11          = 0x7A,
        F12          = 0x7B,
        OEM_1        = 0xBA,   // ',:' for US
        OEM_PLUS         = 0xBB,   // '+' any country
        OEM_COMMA        = 0xBC,   // ',' any country
        OEM_MINUS        = 0xBD,   // '-' any country
        OEM_PERIOD       = 0xBE,   // '.' any country
        OEM_2        = 0xBF,   // '/?' for US
        OEM_3        = 0xC0,   // '`~' for US
        MEDIA_NEXT_TRACK     = 0xB0,
        MEDIA_PREV_TRACK     = 0xB1,
        MEDIA_STOP           = 0xB2,
        MEDIA_PLAY_PAUSE     = 0xB3,
        LWIN       =0x5B,
        RWIN       =0x5C
    }
      

  5.   

    谢谢
    weisunding(鼎鼎) 
    我马上试试看!
    谢谢