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

时间:2013-06-20 08:50:42

标签: c# winforms

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

datagridviewname.currentcell=null   

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

6 个答案:

答案 0 :(得分:10)

CurrentCell Selected属性设置为False,如:

   dataGridViewName.CurrentCell.Selected = false;

答案 1 :(得分:9)

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

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

如果第1行0th ,那么

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

答案 2 :(得分:5)

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

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

答案 3 :(得分:2)

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

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;
}

答案 4 :(得分:2)

唯一的方法就是:

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

答案 5 :(得分:0)

MSDN

  

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

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