C# 是否捕获控件容器中的单击/双击事件?
在我们的项目中,我们有一个由subsystem.com制作的第三方控件,称为,也称为“Tern”,它有点像一个文字处理器模拟器。我已经搜索了这么多使用过这个控件的人,但它似乎不是很受欢迎。他们没有任何支持联系方式;他们向任何需要帮助的人收费 无论如何,在他们控制的事件中发生了一些非常奇怪的事情——特别是鼠标点击和鼠标双击。如果文档中有图像,并且双击该图像,则不会触发任何事件。但是,如果随后在文档主体上单击单键,则会突然触发控件的双击事件,而不是单击事件。看起来事件正在某个地方排队,并在错误的时间醒来 我无意浪费时间去弄明白为什么他们的控制行为如此怪异。但是我需要一个解决这个问题的方法。是否有任何方法可以让鼠标点击这个控件传递到包含控件,这样我至少可以尝试使用更可靠的事件源C# 是否捕获控件容器中的单击/双击事件?,c#,winforms,events,C#,Winforms,Events,在我们的项目中,我们有一个由subsystem.com制作的第三方控件,称为,也称为“Tern”,它有点像一个文字处理器模拟器。我已经搜索了这么多使用过这个控件的人,但它似乎不是很受欢迎。他们没有任何支持联系方式;他们向任何需要帮助的人收费 无论如何,在他们控制的事件中发生了一些非常奇怪的事情——特别是鼠标点击和鼠标双击。如果文档中有图像,并且双击该图像,则不会触发任何事件。但是,如果随后在文档主体上单击单键,则会突然触发控件的双击事件,而不是单击事件。看起来事件正在某个地方排队,并在错误的时间
对于如何可靠地捕捉点击/双击事件的任何其他建议,我们将不胜感激 一种方法是添加应用程序级消息过滤器
您可以使用
应用程序.AddMessageFilter(…)。
调用的参数是一个实例对象,它实现了IMessageFilter
,该接口只有一个名为PreFilterMessage
的方法。在将应用程序中的每条windows消息发送到相应的目标之前,会对其调用此方法。因此,您可以在鼠标消息发送到您的问题控件之前对其进行窥探。这样你就可以随心所欲了。Hmya,庞大的广告预算很少会给体面的支持留下太多空间。从控件中派生自己的类并重写WndProc()是唯一合适的选择。