鼠标滚轮事件未触发

Posted

技术标签:

【中文标题】鼠标滚轮事件未触发【英文标题】:Mousewheel event not firing 【发布时间】:2012-11-26 19:01:39 【问题描述】:

我查看了 this thread 关于完全相同的问题,但该解决方案对我不起作用。 基本上,当用户与 Windows 窗体上的图表控件交互时,我想要完成的是鼠标滚轮事件。 现在我尝试了一些不同的方法。

 public mainForm()
 
     InitializeComponent();
     this.chData.MouseWheel +=new MouseEventHandler(chData_MouseWheel);
 

我也尝试将其添加到 mainForm.Designer.cs:

this.chData.TabIndex = 2;
this.chData.Text = "chart2";

this.chData.MouseWheel += 
   new System.Windows.Forms.MouseEventHandler(this.chData_MouseWheel);

this.chData.MouseClick += 
   new System.Windows.Forms.MouseEventHandler(this.chData_MouseClick);

this.chData.MouseDoubleClick += 
   new System.Windows.Forms.MouseEventHandler(this.chData_MouseDoubleClick);

this.chData.MouseMove += 
   new System.Windows.Forms.MouseEventHandler(this.chData_MouseMove);

(我在这里包含了整个块以进行演示)。我也有如下定义的函数:

private void chData_MouseWheel(object sender, MouseEventArgs e)

   MessageBox.Show("FJDKS");

不幸的是我不能让这该死的东西开火?谁能告诉我哪里出错了?提前致谢!

【问题讨论】:

chData 是什么控件?这个图表控件来自哪里? chData 是我的图表控件的名称。我在设计中添加了它(即不在代码中)。 【参考方案1】:

需要关注图表控件,以便触发鼠标滚轮事件。您可以在鼠标进入控件时设置焦点,并在鼠标离开时将焦点返回给其父控件。

void friendChart_MouseLeave(object sender, EventArgs e)

    if (friendChart.Focused)
        friendChart.Parent.Focus();


void friendChart_MouseEnter(object sender, EventArgs e)

    if (!friendChart.Focused)
        friendChart.Focus();

【讨论】:

以上是关于鼠标滚轮事件未触发的主要内容,如果未能解决你的问题,请参考以下文章

vb如何监视鼠标滚轮事件

鼠标与滚轮事件

jQuery中有鼠标滚轮事件么?

JS如何判断鼠标滚轮事件分析

jQ中鼠标滚轮事件事件吗

如何使用 JavaScript 在 Firefox 中触发鼠标滚轮事件?