C# 禁用datagridView中的默认单元格选择
我使用DataGridView以编程方式加载一些数据。插入数据后,我将显示DataGridView。此处默认选择第一行第0列单元格。但我不需要那个。我已尝试禁用该选项C# 禁用datagridView中的默认单元格选择,c#,winforms,C#,Winforms,我使用DataGridView以编程方式加载一些数据。插入数据后,我将显示DataGridView。此处默认选择第一行第0列单元格。但我不需要那个。我已尝试禁用该选项 datagridviewname.currentcell=null 但这是行不通的。任何人都能帮我解决问题 您可以将此属性设置为null以临时删除焦点矩形,但当控件接收到焦点且此属性的值为null时,它将自动设置为FirstDisplayedCell属性的值 因此,看起来只有当它不是第一行第一列单元格时,将其设置为nul
datagridviewname.currentcell=null
但这是行不通的。任何人都能帮我解决问题
您可以将此属性设置为null以临时删除焦点矩形,但当控件接收到焦点且此属性的值为null时,它将自动设置为FirstDisplayedCell属性的值
因此,看起来只有当它不是第一行第一列单元格时,将其设置为null才有效。将
CurrentCell
Selected
属性设置为False
类似:
dataGridViewName.CurrentCell.Selected = false;
你为什么把它设为空?它应该像下面这样。我想它会起作用的
dataGridViewName.Rows[0].Cells[0].Selected = false;
如果它是第0行第1行,则
dataGridViewName.Rows[1].Cells[0].Selected = false;
您应该在窗体的窗体加载事件中执行清除选择,而不是在构造函数中执行
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;
}
在DataGridView上,为
DataBindingComplete
创建一个事件,然后添加此方法datagridview1.ClearSelection()
唯一的办法是:
private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
dataGridView.ClearSelection();
}
想要的行为是什么?Asker没有要求CurrentCell。当DataGridView加载到第1行和第0行(或第1行)时,他要求输入第1行0thw列因此是当前单元格,我猜这基本上就是OP试图指出的。这将适用于所选的任何默认单元格,除非您有选择第1行而不是第0行的代码。我认为当该行被放入form load或类似内容时,答案更有意义?完美的解决方案。
private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
dataGridView.ClearSelection();
}