C# 禁用单次右键单击,双击datagridview(winform)仅选择行
我想禁用datagridview上的单次右键单击 并通过双击仅选择行 Datadridview属性: 1.全行选择 2.无多选C# 禁用单次右键单击,双击datagridview(winform)仅选择行,c#,winforms,datagridview,C#,Winforms,Datagridview,我想禁用datagridview上的单次右键单击 并通过双击仅选择行 Datadridview属性: 1.全行选择 2.无多选 My Code: private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { dgvindex = dataGridView1.CurrentRow.Index; } privat
My Code:
private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
dgvindex = dataGridView1.CurrentRow.Index;
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow.Index != dgvindex)
{
dataGridView1.Rows[dgvindex].Selected = true;
dataGridView1.CurrentCell = dataGridView1.Rows[dgvindex].Cells[0];
}
}
但当我双击该行时,它卡住了
我想在双击和右键单击时设置当前行
并在右键单击时打开ContexMenuStrip
请给我一些建议
我该怎么办?一种快速而肮脏的方法是从datagridview派生并覆盖WndProc,检查点击,如果点击只是返回,则让点击滚动,但它会在datagridview中完全禁用单次点击……这是不必要的复杂。执行此操作时,将不再允许用户编辑单元格。所以只需设置ReadOnly=true和SelectionMode=FullRowSelect。完成了。你到底想要什么还不清楚。我猜只有在鼠标右键单击当前选定的行时,您才可能希望显示上下文菜单,要选择行,用户只需单击它或双击它,您应该确认或重新表述您的问题。