private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.Modifiers == Keys.Control && e.KeyCode == Keys.C)
{
   
}
}

解决方案 »

  1.   

    private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(e.Modifiers == Keys.Control && e.KeyCode == Keys.C)
    {
    CopyCell();
    }
    if(e.Modifiers == Keys.Control && e.KeyCode == Keys.X)
    {
    CutCell();
    }
    if(e.Modifiers == Keys.Control && e.KeyCode == Keys.V)
    {
    PasteCell();
    }
    }
      

  2.   

    e.Modifiers == Keys.Control
    试过了,不好用,按下Ctrl之后 KeyCode 一直是 Keys.ControlKey,其余的键没有响应,
    如果把 e.Control 换成 e.Shift 或 e.Alt;则可以响应键"Alt + C , Shift + C"
    不知楼上的遇到过这种情况没?
      

  3.   

    private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(e.Modifiers == Keys.Control && e.KeyCode == Keys.C)
    {
    MessageBox.Show("XX");
    }
    }好用呀
      

  4.   

    我响应事件的控件是一个UserControl不知是否会有影响?
      

  5.   

    尝试一下,把你的窗体的KeyPreview的属性修改下
      

  6.   

    就两个属性,一个true,一个false,不过应该跟这个没有关系才对
      

  7.   

    我觉得是事件注册掉了。呵呵。.net经常掉事件
      

  8.   

    都在,事件可以响应,但是在条件语句中的值不对
    例如,我先按下Ctrl ,之后按C,则不会响应 keydown事件
      

  9.   

    在条件语句之前加入
      Console.WriteLine(e.KeyCode.ToString());
    按下Control之后一直输出 "ControlKey"
      

  10.   

    你的用法有问题吧
    你的条件是
     if ( e.KeyCode ==Keys.C && e.Control )
    你能不能修改成
    if(e.Modifiers == Keys.Control && e.KeyCode == Keys.C)
    看看
      

  11.   

    只是那些热键的组合被屏蔽了
    例如 Ctrl + c ,Ctrl+v, Ctrl+X,这些热键