C# 在热键上执行操作而不捕获它

C# 在热键上执行操作而不捕获它,c#,visual-c#-express-2010,C#,Visual C# Express 2010,我想在用户单击(例如Ctrl+C组合)时在我的C#应用程序中执行操作。 我找到了一个特殊代码,但我希望-当用户点击ctrl+c时-所选文本将被复制并在我的应用程序中执行操作,而不是只执行操作。使用按键事件: private void m_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.C) { //Grab s

我想在用户单击(例如Ctrl+C组合)时在我的C#应用程序中执行操作。 我找到了一个特殊代码,但我希望-当用户点击ctrl+c时-所选文本将被复制并在我的应用程序中执行操作,而不是只执行操作。

使用按键事件:

private void m_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
   if (e.Control && e.KeyCode == Keys.C) 
   {
      //Grab selected text
      Clipboard.SetText(richTextBox1.SelectedText);
      string s = Clipboard.GetText();
      //Execute some action with the string
   }
}
您还需要从designer.cs注册密钥事件处理程序,以便在任何情况下使用它。例如:

this.richTextBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.m_KeyDown);

当你最小化你的应用程序时,它会失去焦点,而其他应用程序的Ctrl+C仅仅意味着复制到剪贴板。如果你想让你的函数独立工作,不管你的应用程序是否处于焦点,恐怕我不知道怎么做。我建议你结束这个问题,然后问一个新的问题,你的问题更具体一点。