如何在C#中禁用DataGridView的每个单元格制表位?

时间:2015-09-08 09:47:22

标签: c# datagridview tabs

如何在C#中禁用DataGridView的每个单元格制表位?

如果用户专注于DataGridView并按'Tab',我希望下一个控件可以集中注意力,而不是专注于DataGridView的下一个单元格。

我该怎么做?

2 个答案:

答案 0 :(得分:6)

DataGridView.StandardTab属性设置为true

以下是该属性的描述:

"指示TAB键是否将焦点移动到Tab键顺序中的下一个控件,而不是将焦点移动到控件中的下一个单元格。"

在VS2012 .NET 4中,在向表单添加新的datagridview之后,默认情况下false(在文档中没有看到默认状态)。

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.standardtab(v=vs.110).aspx

我建议在搜索问题的解决方案时,在google中输入对象和所需的功能,然后输入空格,然后输入文本msdn。这解决了我40%的困境。如果这不起作用,请用stackoverflow替换msdn。这解决了另外50%。最后10%是休息并回归的结果。

答案 1 :(得分:0)

制作AllowUserToAddRows = false然后

private void ToNextControl(bool Forward)
{
    Control c = Parent.GetNextControl(this, Forward);         
    while (c != null && !c.TabStop) // get next control that is a tabstop
        c = Parent.GetNextControl(c, Forward);
    if (c != null)
    {
        //c.Select(); // Not needed for it to work
        c.Focus(); // force it to focus
    }
}