你确信能执行到return false这行吗?
我觉得你的条件
if((m.Msg == WM_KEYDOWN || m.Msg == WM_KEYUP)  && keyCode == Keys.Enter ) 好像很难为真。
请跟踪一下试试。

解决方案 »

  1.   

    to chainet(学习创业):
                        当然可以执行到咯!现在的问题是,不管我的代码是protected override bool ProcessKeyPreview(ref System.Windows.Forms.Message m) 
    {return true;}还是protected override bool ProcessKeyPreview(ref System.Windows.Forms.Message m) 
    {return false;}结果是一样的!所以我怀疑, ProcessKeyPreview 这个函数不光是返回一个bool值那么简单,肯定还应该做其他的什么事情!!
     
      

  2.   

    据MSDN上查得,此方法在DataGrid类中已重写,也就是说,在DataGrid中,此函数还干了其它的事情,例如处理回车键等。因此,加上一句
    base.ProcessKeyPreview(e);
    在函数中就可以让DataGrid自己处理回车键了,不让就在你的函数中处理。
      

  3.   

    我现在想作的事情就是:不让DataGrid处理回车,因为DataGrid接到回车就会移动到下一个Cell中去,我想把这个回车传给当前cell的DataGridTextBox,让它能换行,不知道应该怎么做?
      

  4.   

    对DataGridTextBox处理键盘事件。
      

  5.   

    可是问题是 datagridtextbox 根本受不到回车阿,回车在DataGrid中已经被拦截了!