zoukankan      html  css  js  c++  java
  • C# :DataGridView中使按下Enter键达到与按下Tab键一样的效果?

    要使按下Enter键达到与按下Tab键一样的效果,我们需要从DataGridView中派生出一个类,写一个自定义的DataGridView控件。这里有两个方面需要考虑。一方面,当DataGridView不处于编辑状态:在这种情况下,我们需要重写OnKeyDown事件来实现我们所需要的定位逻辑。另一方面,当DataGridView处于编辑的状态下:在这种情况下,Enter键是在ProcessDialogKey事件中被处理,因此我们需要重写该事件。详见以下示例:

     

     

    代码
    class myDataGridView : DataGridView

    {

        
    protected override bool ProcessDialogKey(Keys keyData)

        {

            
    if (keyData == Keys.Enter)

            {

                
    int col = this.CurrentCell.ColumnIndex;

                
    int row = this.CurrentCell.RowIndex;

                
    if (row != this.NewRowIndex)

                {

                    
    if (col == (this.Columns.Count - 1))

                    {

                        col 
    = -1;

                        row
    ++;

                    }

                    
    this.CurrentCell = this[col + 1, row];

                }

                
    return true;

            }

            
    return base.ProcessDialogKey(keyData);

        }

     

        
    protected override void OnKeyDown(KeyEventArgs e)

        {

            
    if (e.KeyData == Keys.Enter)

            {

                
    int col = this.CurrentCell.ColumnIndex;

                
    int row = this.CurrentCell.RowIndex;

                
    if (row != this.NewRowIndex)

                {

                    
    if (col == (this.Columns.Count - 1))

                    {

                        col 
    = -1;

                        row
    ++;

                    }

                    
    this.CurrentCell = this[col + 1, row];

                }

                e.Handled 
    = true;

            }

            
    base.OnKeyDown(e);

        }

    }

    运用:

    this.dataGridView1 = new myDataGridView();
  • 相关阅读:
    多校第五场 归并排序+暴力矩阵乘+模拟+java大数&记忆化递归
    Cocos2dx-Android 之Makefile通用高级写法
    出现异常 child->m_pParent == 0
    mybatis一对多关联查询——(九)
    mybatis一对一关联查询——(八)
    mybatis关联查询数据模型分析——(七)
    mybatis动态sql——(六)
    mybatis输入输出映射——(五)
    SqlMapConfig.xml全局配置文件介绍——(四)
    mybatis开发dao的方法——(三)
  • 原文地址:https://www.cnblogs.com/Fooo/p/1622072.html
Copyright © 2011-2022 走看看