【问题标题】:Cycle single record with Tab key使用 Tab 键循环单个记录
【发布时间】:2014-03-29 19:09:06
【问题描述】:

我正在尝试在 datagridview 中获得某个 tabenter 键行为。一旦焦点位于 datagridview 中的单元格上,我想要以下内容:

TAB - 在行中的单元格中循环,而不是在行中的最后一个单元格之后转到下一行。 IE。继续循环遍历单个行中的单元格。

ENTER - 移动到下一行。

我一直在网上寻找解决方案,但它们通常不是我所追求的行为,而且它们大多需要创建派生的 DataGridView 类,如果可能的话我宁愿避免。

我还想避免触发 RowLeave 事件,因为我使用它来验证然后接受/拒绝在该行中所做的任何单元格更改 - 因此有意识地按下 ENTER 键以离开该行并触发其验证和持久性。

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    我现在已经实现了一个解决方案,并认为我应该在这里更新我所采用的特定方法的详细信息。

    我在DataGridViewOnKeyDown 事件中加入了类似的内容:

    if (e.KeyCode == Keys.Tab)
        {
            if (dataGrid.CurrentCell.ColumnIndex == dataGrid.Columns.Count - 1)
                {
                    dataGrid.CurrentCell = dataGrid[1,dataGrid.CurrentCell.RowIndex]; 
                }
        }
    

    似乎可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-16
      • 2014-12-26
      相关资源
      最近更新 更多