我在Win7上使用C ++ / CLI .NET 4.5。我用DataGridView开发一个控件。用户无法编辑单元格,也无法手动添加行。
我需要捕获/处理 SelectionChanged 事件,所以我为它添加了一个处理程序。我还需要捕获/处理 CellContentClick 事件,所以我也为它添加了处理程序。如果我点击一个单元格的内容,当然选择会改变,但我也想抓住点击事件。永远不会调用 CellContentClick 的处理程序。
如果我删除了 SelectionChanged 处理程序,则会根据需要捕获 CellContentClick 。
如果我将return
作为 SelectionChanged 处理程序的第一行,则 CellContentClick 永远不会被捕获。
看起来,如果选择的处理程序禁止触发点击的事件????
有什么想法吗?如果您需要有关DataGridView设置的更多信息,请与我们联系。
谢谢!
答案 0 :(得分:1)
Hans Passant适合 CellClick 。我将 CellContentClick 更改为 CellClick 。
有一个"错误"使用调试器,因为当我在 SelectionChanged 事件中放置断点时,不会捕获 CellClick 。当我删除断点时, CellClick 就会被捕获。这误导了我。我正在使用VS2012.4。
谢谢!
答案 1 :(得分:-1)
我读到这可能是工作室的错误,但这是不正确的。它不开火期。测试一下,亲自看看。
如果单击同一行,则将触发cellclicked事件。单击上一行或下一行中的单元格,将触发选择的更改,但不会触发cellclicked事件。谢谢M $。