首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WindowsFormsHost中的MouseWheel事件

WindowsFormsHost中的MouseWheel事件
EN

Stack Overflow用户
提问于 2012-03-21 22:52:39
回答 2查看 3.1K关注 0票数 4

我有一个使用WindowsFormsHost控件来承载Windows.Forms控件的WPF应用程序。

我试图实现MouseWheel事件--但似乎MouseWheel事件从未触发过。

是否有解决此问题的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-21 23:32:58

解决方法是使用event MouseEnter。

假设您在WindowsFormHost中有一个winform标签

在XAML中

代码语言:javascript
复制
<WindowsFormsHost Height="100" Name="windowsFormsHost1" Width="200" />

在C#中

代码语言:javascript
复制
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;

.

代码语言:javascript
复制
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应该可以工作了(标签应该会改变颜色)

票数 8
EN

Stack Overflow用户

发布于 2012-09-17 13:58:05

我要补充的一件事..。如果WindowsFormsHost的子元素是Windows.Forms元素,则此链接会有所帮助。

http://vastpark-svn.cvsdude.com/public/trunk/src/Sample.Client/WPFInputSource.cs

为什么我发布的帖子是我正在寻找一个解决方案,并发现..所以我想这可能会对将来的某个人有所帮助。不管怎样,谢谢你先问我^^

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9807032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档