是否有某种方法可以使 DataGridView
的当前单元格始终具有按下 Tab
按钮时出现的虚线边框?我注意到,如果您按过一次 Tab
按钮,当前单元格周围总是有边框,但我希望从一开始就有该边框,而不必按 Tab
按钮。
目前我正在以编程方式发送 Tab 键,如下所示:
SendKeys.Send("{TAB}");
但这很糟糕,如果有的话,我宁愿有一个合适的解决方案。
编辑:
我忘了提及 SelectionMode
设置为 FullRowSelect
并且我不打算更改它。我希望当前单元格周围的边框轮廓以及突出显示的整行。
最佳答案
创建一个新类以继承 DataGridView
并覆盖 ShowFocusCues
属性 - 将 True
返回为始终显示焦点矩形或 False
来从不显示它。如果您想随意更改它,您甚至可以添加一个公共(public)属性来公开它。
public class DataGridViewFocused : DataGridView
{
public bool ShowFocus { get; set; }
protected override bool ShowFocusCues
{
get
{
return this.ShowFocus;
}
}
}
DataGridViewFocused dataGridView1 = new DataGridViewFocused();
dataGridView1.ShowFocus = true;
注意:这只会关注 CurrentCell
,因为这就是它的行为方式。因此,即使设置了 FullRowSelect
,也只有突出显示的行中选定的单元格之一才会获得焦点。
关于c# - 如何在不按 Tab 的情况下强制 DataGridView 当前单元格轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35282436/