我有一个 WPF 应用程序,它使用 WindowsFormsHost 控件来托管 Windows.Forms 控件。
我尝试实现 MouseWheel 事件 - 但似乎 MouseWheel 事件从未触发。
这个问题有解决方法吗?
解决方法是使用事件 MouseEnter。
假设您在 WindowsFormsHost 中有一个 winform 标签
In XAML
<WindowsFormsHost Height="100" Name="windowsFormsHost1" Width="200" />
In C#
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Text = "Hallo";`
label.MouseEnter += new EventHandler(label_MouseEnter);
label.MouseWheel += new System.Windows.Forms.MouseEventHandler(label_MouseWheel);
windowsFormsHost1.Child = label;
.....
void label_MouseEnter(object sender, EventArgs e)
{
(sender as System.Windows.Forms.Label).Focus();
}
void label_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
(sender as System.Windows.Forms.Label).BackColor = System.Drawing.Color.Red;
}
现在 MouseWheel 应该可以工作(标签应该改变颜色)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)