如何在C#中禁用DataGridView的每个单元格制表位?
如果用户专注于DataGridView并按'Tab',我希望下一个控件可以集中注意力,而不是专注于DataGridView的下一个单元格。
我该怎么做?
答案 0 :(得分:6)
将DataGridView.StandardTab
属性设置为true
以下是该属性的描述:
"指示TAB键是否将焦点移动到Tab键顺序中的下一个控件,而不是将焦点移动到控件中的下一个单元格。"
在VS2012 .NET 4中,在向表单添加新的datagridview之后,默认情况下false
(在文档中没有看到默认状态)。
我建议在搜索问题的解决方案时,在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
}
}