【问题标题】:How to capture mouse click event inside WindowsFormsHost control?如何在 WindowsFormsHost 控件中捕获鼠标单击事件?
【发布时间】:2012-07-17 18:49:55
【问题描述】:

我有一个带有 WindowsHostControl 的用户控件,该控件托管第 3 方视频控件。我希望能够在视频上单击鼠标时捕获鼠标单击事件。我尝试将事件附加到 WindowsFormsHost 控件,但它从未触发。如何拦截鼠标点击?

【问题讨论】:

标签: c# wpf events windowsformshost


【解决方案1】:

改为捕获 PreviewMouseDown。

【讨论】:

  • 那也不行。我认为问题是我试图点击的视频控件正在窃取鼠标事件。它也不会公开 Click 事件。我刚刚发现的一种解决方法是在视频控件的顶部放置一个透明的 Label 控件,并改为处理其 Click 事件。
  • 如果你走那条路,只需使用装饰层,这样你就不必维护标签位置
【解决方案2】:

我通过将事件处理程序附加到 WindowsFormsHost 中包含的子元素解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    相关资源
    最近更新 更多