如果您有一个包含2列的Datagridview,则一个是TextBoxColumn,另一个是ButtonColumn:
选择文本单元格。
现在突出显示/选择单元格内的文本,然后选择(按住鼠标按钮的同时),如果将鼠标光标移到相邻的ButtonColumn上并释放鼠标按钮,则即使我在文本单元格内进行了MouseDown,DatagridView也会触发CellContentClick作为按钮列。
我希望要触发CellContentClick,必须同时在同一Cell中执行MouseDown和MouseUp。我的用户也希望如此。
有人知道解决方法/修复程序吗?
最佳答案
我通常避免使用CellContentClick
并选择CellClick
。
这不仅避免了这种奇怪的行为,而且还避免了CellContentClick
的其他陷阱:用户必须实际击中文本才能使文本起作用,而不是击中周围的空白区域。
在某些特殊情况下,这甚至可能很好,例如当一个单元格确实很大,并且希望从单击要编辑的内容中分辨出单击该单元格以进行选择时。
但是CellClick
对于正常以及纽扣电池和其他电池都可以正常工作。
是的,MSDN讨论了将其用于DataGridViewButtonColumns
的情况,但这只是一种可能的用途,绝不值得。