C#如何从文本框中捕获Ctrl-R

poc*_*oco 0 c# keystroke

我有一个from文本框,我正在尝试确定是否在此文本框内按下了Ctrl-R。我可以使用以下方法分别检测按键:

private void CheckKeys(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    if(e.KeyChar == (char)Keys.R)
    {
        // ...
    }
    if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

如何确定他们是否同时按下?

Che*_*hen 5

如果可能,将您的事件更改为KeyDown/ KeyUp,一切将变得更加容易。(请注意,此解决方案并不总是适用)

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
   if (e.KeyData == (Keys.Control | Keys.R))
   {

   }
}
Run Code Online (Sandbox Code Playgroud)