Mar*_*ell 15

bool ctrl = ((Control.ModifierKeys & Keys.Control) == Keys.Control);
Run Code Online (Sandbox Code Playgroud)


Ray*_*yes 5

如果要在Key按下处理程序中检测,您将查看修改器属性:

private void button1_KeyPress(object sender, 
                              System.Windows.Forms.KeyPressEventArgs e) 
{
   if ((Control.ModifierKeys & Keys.Control) == Keys.Control) 
   {
     MessageBox.Show("Pressed " + Keys.Control);
   }
}
Run Code Online (Sandbox Code Playgroud)

实际上,看着它并看到它并没有使用e参数,只要你的"this"来自Form或Control,那么你可以随时进行这个调用,而不仅仅是在键盘事件处理程序中.

但是,如果您想确保组合,例如Ctrl- A被按下,则需要一些额外的逻辑.

private void myKeyPress(object sender, 
                        System.Windows.Forms.KeyPressEventArgs e) 
{
   if (((Control.ModifierKeys & Keys.Control) == Keys.Control) 
        && e.KeyChar == 'A')
   {
     SelectAll();
   }
}
Run Code Online (Sandbox Code Playgroud)