datagrid有这些事件,但是我设置了断点,却发现程序并没有执行这些事件中的代码,怎么回事啊?
我是在窗体上放了一个panel,panel上了放了一个treeview和一个datagrid,treeview中的键盘时间能捕获,但是panel中的时间就不能
 急阿,请高人赐教form中的keypreview属性已经设置为True

解决方案 »

  1.   

    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg , System.Windows.Forms.Keys keyData) //激活回车键
    {
    int WM_KEYDOWN=256;         
    int WM_SYSKEYDOWN = 260;
    if(this.ActiveControl is System.Windows.Forms.DataGridTextBox )
    {
       
    if(msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)
    {
    switch( keyData)
    { case Keys.Down:
    MsgBox("截到下箭头键")
    MessageBox.Show("下键");  
    return true;
    break;
    case Keys.Up:
    MsgBox("截到上箭头键")
    MessageBox.Show("上键");  
    return true;
    case Keys.Enter:
    MessageBox.Show("回车键");  
    }
    return true;
    break; case Keys.Control + Keys.V:
    //<CTRL> + C 组合键)

    return true;
    break;
    case Keys.Alt + Keys.Z:
                        'MsgBox("<ALT> + z 组合键被截获")
    return true;
    break;
    }
    }
    }
    return false;
    }
      

  2.   

    请问2楼,在windows ce 下,没有System.Windows.Forms.Message怎么办啊,是就响应不了了么,CF好像精简了很多,啥都没有了
      

  3.   

    二楼的有点问题,case Keys.Control + Keys.V,这句话有错误,报错是“+”运算符不适用这里的阿
    请问这个怎么解决
      

  4.   

    我现在总算解决了,将keydata强制转化为int型数据之后,在去比较,
    但是程序现在只对CTRL+v事件反应,对其他键盘操作均无任何动作拉,请问该如何解决阿