【问题标题】:MouseEnter event in Winform ElementHostWinform ElementHost 中的 MouseEnter 事件
【发布时间】:2013-03-18 02:30:33
【问题描述】:

我有一个带有 elementHost 的 Winform,其中包含 WPF 用户控件。我需要的是当鼠标进入elementHost而不是child时做一些事情。我试图在 elementHost 中使用 MouseEnter 事件,但它不存在。我有机会做到这一点吗?还是只是不可能?奇怪的是没有鼠标事件。

这是我所有的活动:

如果我想以编程方式进行,我只是没有任何 MouseEvent:

【问题讨论】:

  • 存在但隐藏。因为它永远无法工作,所以 WPF 元素会获取鼠标消息。
  • 我尝试将 elementhost 转换为 control。然后我创建事件。我成功了,但它永远不会触发。似乎唯一的方法是你说的q。直接在elementhost child(usercontrol)中捕捉鼠标进入。

标签: c# wpf winforms user-controls elementhost


【解决方案1】:

MouseEnter事件位于elementHost的HostContainer,用于检测鼠标何时进入尝试以下代码:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            elementHost1.HostContainer.MouseEnter += new System.Windows.Input.MouseEventHandler(HostContainer_MouseEnter);
        }
        void HostContainer_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
        {
            MessageBox.Show("Mouse entered");
        }

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多