c# – 如何完全禁用DataGridView上的Tab键但是能否选择行?
作者:互联网
如何完全禁用DataGridView上的Tab键,以便它根本不会通过单元格?
我在我的应用程序中使用DataGridView作为音乐播放列表,我不需要在单元格周围的那个恼人的窗口默认选择框架.我希望能够正常选择行.我设法使用SetStyle(ControlStyles.Selectable,false)隐藏按钮上的选择边框,但这不会禁用DataGridView上的Tab键.
解决方法:
处理DataGridView的KeyDown事件并调用父(或祖父)控件的SelectNextControl方法.
private void dataGridView1_KeyDown( object sender, KeyEventArgs e )
{
if ( e.KeyCode == Keys.Tab )
{
SelectNextControl( dataGridView1, true, true, true, true );
// or Parent.SelectNextControl() if the grid is an only child, etc.
e.Handled = true;
}
}
这将导致整个网格的行为类似于文本框和按钮之间的标签 – 您可以选择标签到网格中,然后再按Tab键将标签输出到下一个控件上.这通过光标键保留网格内的导航.有关选项卡方向的选项,请参阅链接的MSDN文档,这些是所有这些可怕的布尔参数配置的选项.控制“下一个”选项卡搜索的第一个参数集开始于此,因此您可以将其设置为父级或兄弟级或祖父级.
标签:c,winforms,datagridview,tabindex,tab-ordering 来源: https://codeday.me/bug/20190624/1277719.html