首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >鼠标滚轮事件未触发

鼠标滚轮事件未触发
EN

Stack Overflow用户
提问于 2012-12-09 06:52:07
回答 1查看 15.2K关注 0票数 19

我已经研究过关于完全相同的问题的this thread,但那个解决方案对我不起作用。

基本上,我试图完成的是当用户与windows窗体上的图表控件交互时发生鼠标滚轮事件。

现在我已经尝试了一些不同的东西。

代码语言:javascript
复制
 public mainForm()
 {
     InitializeComponent();
     this.chData.MouseWheel +=new MouseEventHandler(chData_MouseWheel);
 }

此外,我还尝试将此代码添加到mainForm.Designer.cs中:

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

(为了演示,我在这里包含了整个代码块)。我也有如下定义的函数:

代码语言:javascript
复制
private void chData_MouseWheel(object sender, MouseEventArgs e)
{
   MessageBox.Show("FJDKS");
}

不幸的是,我不能让那该死的东西着火?有没有人能告诉我我哪里错了?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-09 07:08:40

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

代码语言:javascript
复制
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();
}
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13782763

复制
相关文章

相似问题

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