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

我有DataGridView以编程方式加载一些数据。 插入我的数据后,我正在显示DataGridView。 默认情况下,此处选择第1行第0列单元格。 但我不需要那样做。 我试图禁用该选项。

datagridviewname.currentcell=null 

但它不会起作用。 任何身体都可以帮助我解决我的问题。

为什么你把它设为null? 应该如下。 我认为它会起作用

 dataGridViewName.Rows[0].Cells[0].Selected = false; 

如果它是第0行 ,那么

 dataGridViewName.Rows[1].Cells[0].Selected = false; 

CurrentCell Selected属性设置为False如:

  dataGridViewName.CurrentCell.Selected = false; 

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

 private void datagridview1_DataBindingComplete(object sender, EventArgs e) { datagridview1.ClearSelection(); } 

您应该在表单的表单加载事件中执行清除选择而不是构造函数。

 private void Form1_Load(object sender, EventArgs e) { // You will get selectedCells count 1 here DataGridViewSelectedCellCollection selectedCells = dataGridView.SelectedCells; // Call clearSelection dataGridView.ClearSelection(); // Now You will get selectedCells count 0 here selectedCells = dataGridViewSchedule.SelectedCells; } 

唯一的方法是:

 private void dataGridView_SelectionChanged(object sender, EventArgs e) { dataGridView.ClearSelection(); } 

MSDN

您可以将此属性设置为null以临时删除焦点矩形,但是当控件获得焦点并且此属性的值为null时,它将自动设置为FirstDisplayedCell属性的值。

所以看起来将它设置为null只有在它不是第一行第一列单元格时才有效。