焦点不在Button Preview KeyDown事件上设置DataGridView

时间:2015-05-20 06:28:41

标签: c# datagridview tabindex keyboard-navigation

enter image description here

按下Button按钮上的Tab键将焦点设置在下拉列表中,但是当网格数据源不为null时,我需要将焦点设置在Checkbox列和网格的第一行,否则为下一个控件,但是它只选择给定的单元格。我按顺序设置了tabIndex属性,请告诉我哪里错了,这是我的代码:

private void btnRefresh_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
  if (e.KeyCode == Keys.Tab)
  {
     if (grid.DataSource != null)
     {
       grid.Focus();
       grid.CurrentCell = this.grid[1, 0];
       grid.CurrentCell.Selected = true;
       grid.BeginEdit(false); 
     }
     else
     {
       btnCancel.Focus();
     }
   }
}

1 个答案:

答案 0 :(得分:1)

你见过这个post吗? 好像你使用的索引是Grid [x,y]。

尝试

grid.Rows[1].Cells[0]

然而,这将只选择单元格(顺便说一下第一个单元格,第二行)。 如果要选择整行,请尝试

grid.Rows.First().Selected = True

希望它有所帮助。