none
DataGridView单元格跳转问题 RRS feed

  • 问题

  • 在某一单元格内,怎么按回车后跳到同行的下一单元格,而不是跳到这个单元格同列的单元格里?
    试了几种方法,在很多事件里实现总容易出现 SetCurrentCellAddressCore 错误。
    2011年1月27日 2:46

答案

  • dear
    有试过重写ProcessCmdKey吗??先确认属性this.dataGridView1.StandardTab = false;再重写以下:
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
      if (keyData == Keys.Enter)
      {
        //你要做的事
        SendKeys.Send("{Tab}");
        return true;
      }
      else
      {
        return base.ProcessCmdKey(ref msg, keyData);
      }
    } 
    


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已建议为答案 Paul Zhou 2011年1月31日 3:44
    • 已标记为答案 Paul Zhou 2011年2月2日 7:37
    2011年1月28日 1:29

全部回复

  • 应该之前回答过类似问题,一般用模拟键盘操作来实现,就是send “TAB”来达到这个效果。

     


    family as water
    2011年1月27日 8:01
  • 你是不是说错了,如果新加一个datagridview,不做任何处理,按回车后就会跳到同行的下一单元格

    你看看你是不是处理过回车键


    http://feiyun0112.cnblogs.com/
    2011年1月28日 1:18
    版主
  • dear
    有试过重写ProcessCmdKey吗??先确认属性this.dataGridView1.StandardTab = false;再重写以下:
    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
      if (keyData == Keys.Enter)
      {
        //你要做的事
        SendKeys.Send("{Tab}");
        return true;
      }
      else
      {
        return base.ProcessCmdKey(ref msg, keyData);
      }
    } 
    


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已建议为答案 Paul Zhou 2011年1月31日 3:44
    • 已标记为答案 Paul Zhou 2011年2月2日 7:37
    2011年1月28日 1:29