单击VB.NET-Grid双击即可触发

时间:2010-06-24 18:54:13

标签: vb.net datagrid double-click

好的,这是一个奇怪的VB.NET Grid问题。我确信这很简单,但对我来说没有意义。

我有一个网格,显示来自绑定源的数据。我有一个方法来处理CellContentDoubleClick,它将获取单元格的值并使用它来进行新的查找。这将生成一个新的数据源(具有不同的列),然后我将其重新绑定到网格。

我的网格双击有效,但是当它重新绘制新数据时,只需单击一下即可点击双击。无论thre是单击处理程序,都会发生这种情况。

有趣的是,它(在我的情况下)是一个切换。如果我双击,在重绘上,单击即可触发双击代码。当它再次重新粉刷时,我需要双击。

双击代码会触发一个消息框 - 如果我告诉它不要继续,那么我必须双击才能再次触发它。所以它不依赖于显示的数据。

当它处于响应单击的模式时,我可以浏览所有控件,然后点击网格中的任何单元格,它仍然会点击双击。

无论我尝试做什么(将焦点设置到其他控件,刷新网格等),似乎没有重置网格,因此它可以一致地工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案。数据网格(至少在VS.Net 2007中)具有名为“EditMode”的属性。如果将其设置为EditOnEnter(不是默认值),那么您将遇到此行为。如果您重置它(或将其更改为EditOnKeystrokeOrF2),那么数据网格将按预期工作(没有单击就像双击一样。)

这是在使用线程,子类网格进行测试后,您将其命名为...我应该首先查看属性设置....抱怨....