C#DataGridViewButtonColumn和CellContentClick事件

时间:2018-05-20 07:44:42

标签: c# winforms datagridview datagridviewbuttoncolumn

如果你有一个包含2列的Datagridview,一个是TextBoxColumn,另一个是ButtonColumn:

选择文本单元格。 现在突出显示/选择单元格内的文本,同时选择(按住鼠标按钮),如果将鼠标移动到相邻的ButtonColumn上并释放鼠标按钮,则DatagridView会触发按钮列的CellContentClick,即使我在文本单元格中执行了MouseDown。

我希望触发CellContentClick,MouseDown和MouseUp必须都在同一个Cell中执行。我的用户也希望如此。

有人知道解决方法/修复此问题吗?

1 个答案:

答案 0 :(得分:0)

我通常会避免使用CellContentClick并转到CellClick

这不仅避免了这种奇怪的行为,而且还避免了CellContentClick的其他陷阱:用户必须实际点击文本才能使其工作,而不是周围的空白区域。

对于某些特殊情况,这甚至可能没问题,例如当一个单元格非常大并且想要通过单击要编辑的内容来识别单击它以进行选择时。

但是CellClick对于普通按钮和按钮细胞等都可以正常工作。

是的,MSDN谈到将其用于DataGridViewButtonColumns,但它只是一种可能的用途,绝不是必须的。