Winforms 如何称鼠标双击事件?桌面应用程序

Winforms 如何称鼠标双击事件?桌面应用程序,winforms,Winforms,在我的MouseDoubleClick中,我可能会遇到这样一种情况:我想用MouseDoubleClick调用列表中的所有控件。但是我不能调用MouseDoubleClick,只能在链中添加/删除事件 如何调用MouseDoubleClick/OnMouseDoubleClick ATM我解决了这个问题,因为我知道objects MouseDoubleClick函数,并且我自己传入了调用该特定函数的参数。如果我不知道控件MouseDoubleClick设置了什么函数,如何调用事件有多种方法: 在

在我的MouseDoubleClick中,我可能会遇到这样一种情况:我想用MouseDoubleClick调用列表中的所有控件。但是我不能调用MouseDoubleClick,只能在链中添加/删除事件

如何调用MouseDoubleClick/OnMouseDoubleClick


ATM我解决了这个问题,因为我知道objects MouseDoubleClick函数,并且我自己传入了调用该特定函数的参数。如果我不知道控件MouseDoubleClick设置了什么函数,如何调用事件有多种方法:

在执行时,直接对调用进行硬编码。这不是一个非常灵活的方法

添加您自己的内部方法来调用控件,例如实现一个特殊接口,或您引发的事件,所有其他感兴趣的控件都订阅了该事件。只有当您拥有所有控件的源代码,或者创建自己的派生UserControls时,这才有效,这可能需要大量的工作

为列表中的每个控件向基础窗口发布消息。这对于任何类型的控制都是有效的,只要他们不做任何太调皮的事情。请注意,您可能需要在每个控件内计算出假x,y坐标,以诱使它认为双击在其自己的边界内-在控件边界外双击可能会导致未定义的行为。当然,控件中单击的位置可能很重要,例如,可以双击列表框控件中显示的单个项目


我解决了这个问题,因为我知道objects MouseDoubleClick函数,并且我自己传入了调用该特定函数的参数。如果我不知道控件MouseDoubleClick设置了什么函数,如何调用该事件尝试使用以前使用过的标记,而不是winform标记的第一个问题。奇怪的是,我不知道没有winform标记…请尝试winforms标记。