1

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

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

我的网格双击有效,但是当它使用新数据重新绘制时,单击会触发双击。无论是否有单击处理程序,都会发生这种情况。

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

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

当它处于响应单击的模式时,我可以通过所有控件选项卡,然后单击网格中的任何单元格,它仍然会触发双击。

无论我尝试做什么(将焦点设置到其他控件、刷新网格等),似乎都不会重置网格,因此它可以始终如一地工作。

有任何想法吗?

4

1 回答 1

0

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

这是在使用线程、子类网格进行测试之后,你的名字......我应该先检查属性设置......抱怨......

于 2010-07-06T18:28:24.727 回答