在WinForm应用程序中加载表单后,禁用datagridview中的默认单元格选择

本文关键字:datagridview 默认 禁用 单元格 选择 应用程序 WinForm 加载 表单 | 更新日期: 2023-09-27 18:06:12

我有一个dataGridView控件在窗口窗体应用程序。将三列添加到dataGridView中。我在dataGridView中添加了20个空行,以显示一些空白单元格。(否则dataGridView只显示灰色区域)。

在dataGridView控件上,我添加了三列"a","b","c"。在form load中,我添加了这个

dataGridView1.Rows.Add(20);

窗体初始化后,datagridview显示一些空白单元格,但第一行的第一个单元格被选中(用蓝色突出显示)。请注意,datagridview中没有数据我不知道如何清除默认选项。

我做了一些研究。有一些讨论。我试过了,但它们不起作用。我想这是因为我没有控制数据。但是下面链接中提到的方法是用于加载数据的datagridview。

禁用datagridView中的默认单元格选择

禁用窗口gridview获取焦点在第一行

还有一些关于Windows商店应用程序的讨论。(我正在使用windows窗体应用程序)

http://social.msdn.microsoft.com/forums/windowsapps/en us/1dc26694 - 1147 - 4 - d5b - 8 b7d - 11 - c9c493e605/how - -禁用默认选择-在-显示数据表格

如何防止自动选择的第一个项目在GridView上的数据绑定?

如果你能给我一些建议,我先感谢你。

在WinForm应用程序中加载表单后,禁用datagridview中的默认单元格选择

我已经在我的项目的窗体的Shown -event:

dataGridView1.ClearSelection();

如果有人仍然有这个问题,我发现这对我工作时,所有上述建议失败。

在DataGridView上为DataBindingComplete创建一个事件,然后添加这个方法datagridview1.ClearSelection();

DataGridView1.FirstDisplayedCell。

我无法在新的测试DGV中复制,但我以前见过它。

这是我发现的工作:

bool old = dataGridView1.MultiSelect;
dataGridView1.MultiSelect = false;
dataGridView1.Rows[1].Cells[0].Selected = true;
dataGridView1.Rows[1].Cells[0].Selected = false;
dataGridView1.MultiSelect = old;

我不知道是什么原因有时…(. .但是一旦我找到了,我会把它添加到答案中。

在我的例子中,我使用这段代码使它工作:

dataGridView1.EndEdit();