VB.NET-Grid双击在单击时激发

VB.NET-Grid双击在单击时激发,vb.net,datagrid,double-click,Vb.net,Datagrid,Double Click,好的,这里有一个奇怪的VB.NET网格问题。我相信这真的很简单,但对我来说毫无意义 我有一个显示绑定源数据的网格。我有一个方法来处理CellContentDoubleClick,它将获得单元格的值,并使用该值进行新的查找。这将生成一个新的数据源(具有不同的列),然后将其重新绑定到网格 我的网格双击可以工作,但当它使用新数据重新绘制时,单击一次就会触发双击。无论thre是否是单击处理程序,都会发生这种情况 有趣的是(在我的例子中)它是一个开关。如果我双击,在重新绘制时,单击一次就会触发双击代码。当

好的,这里有一个奇怪的VB.NET网格问题。我相信这真的很简单,但对我来说毫无意义

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

我的网格双击可以工作,但当它使用新数据重新绘制时,单击一次就会触发双击。无论thre是否是单击处理程序,都会发生这种情况

有趣的是(在我的例子中)它是一个开关。如果我双击,在重新绘制时,单击一次就会触发双击代码。当它再次重新绘制时,我需要双击

双击代码会触发一个messagebox——如果我告诉它不要继续,那么我必须双击它才能再次触发。因此,它不依赖于显示的数据

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

无论我尝试做什么(将焦点设置为其他控件、刷新网格等),似乎都不会重置网格以使其始终工作


有什么想法吗?

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


这是在使用线程、子类网格进行测试之后,您可以命名为。。。我应该先查看属性设置。。。。抱怨….

有趣的更新-我创建了一个非常简单的演示网格,无法让它重现问题。所以我正在调查是什么导致了这种副作用。我会把我找到的贴出来。