判断keys enum 
该类包含用于处理键盘输入的常数。键由键值标识,键值是由键代码和一组修饰符共同组成的一个整数值。键值的左边四个数字包含键代码(与 Windows 虚拟键代码一样)。键值的右边四个数字包含 SHIFT、CONTROL 和 ALT 键的修饰符位。

解决方案 »

  1.   

    Alt+Shift+Control可写为Keys.Alt | Keys.Shift | Keys.Control,这个也许对你有点帮助.
      

  2.   

    ms-help://MS.VSCC/MS.MSDNVS.2052/Vbcon/html/vbtbsDeterminingWhichModifierKeyWasPressed.htm==========================================================
    在创建接受用户击键的应用程序时,您还可能希望监视 SHIFT、ALT 和 CTRL 键等组合键。当一个组合键与其他键同时按下,或在单击鼠标的同时按下时,您的应用程序能够做出适当响应:字母 S 可能仅导致一个“S”出现在屏幕上,但是如果按下 CTRL+S,则可保存当前文档。确定所按下的组合键 对 ModifierKeys 属性和 Keys 枚举的值使用按位与运算符(在 Visual Basic 中为 And,在Visual C# 中为 &),确定所按下的组合键。(ModifierKeys 是 Control 类的共享成员;有关共享成员的更多信息,请参阅共享成员。) 
    ' Visual Basic
    Private Sub button1_KeyPress(ByVal sender As Object, ByVal e As _
    System.Windows.Forms.KeyPressEventArgs) Handles button1.KeyPress
       If (Control.ModifierKeys And Keys.Shift) = Keys.Shift Then
          MessageBox.Show("Pressed " & Keys.Shift)
       End If
    End Sub// C#
    private void button1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
       if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) {
         MessageBox.Show("Pressed " + Keys.Shift);
       }
    }
    请参见
    Keys 枚举 | Control.ModifierKeys 属性
      

  3.   

    楼上兄台那好像只能判断一个SHIFT键加一数字健呀!
    我想了半天也没法确定按下三个按键的代码写出来:(
      

  4.   

    兄弟,试试这个:
    private void Form1_Click(object sender, System.EventArgs e)
    {
    MessageBox.Show(Control.ModifierKeys.ToString());
    }