【问题标题】:C# Forms Mouse Hover Not firing in controls?C# Forms Mouse Hover 不在控件中触发?
【发布时间】:2020-10-11 07:15:10
【问题描述】:

我正在尝试在 Mouse_Hover 上为 Button 编写代码

private void Button_MouseHover(object sender, EventArgs e){
    Button b = (Button)sender;
    toolTip1.Show("Click ME!!", b);
}

但是 toolTip1 没有显示!!

在此之后,我尝试在另一个控件中使用 MouseHover,但它不起作用,我尝试使用 MessageBox ,但它甚至没有工作,我仔细检查了 Button (和其他控件)的事件 在属性选项卡中。

【问题讨论】:

  • 你能在Button_MouseHover中打断点吗
  • 我可以在Button_MouseHover中放断点,但是在我调试的时候它没有生效。

标签: c# winforms mouseover mousehover


【解决方案1】:

您不必为了使用工具提示而连接控件来使用鼠标悬停事件。 MSDN 有一些有用的指导,其本质是“在表单中添加工具提示,将工具提示分配给按钮”

【讨论】:

  • 我尝试将它添加到 Design 并为 toolTip1 上的 Tooltip 赋予价值,但它不起作用。
  • 你是说 MSDN 中给出的建议不正确?这确实不寻常!在一个新项目中,您是否完全按照他们的建议进行?如果它在新项目中有效,但在您现有的项目中无效,那么其他冲突...
  • 关于MouseHover的任何事情都不起作用,当我创建一个新项目时它起作用了,但过了一段时间它停止工作,我不知道我的程序中会有什么冲突.
  • 谢谢♥♥在考虑了冲突之后,我终于找到了错误我重绘我的按钮并在删除图像和重绘功能后将图像放在它上面工作!再次感谢您现在我的问题是如何禁用冲突并保留图像和绘图。
  • 我解决了冲突,错误是我使用b.Image = Image.FromFile(@"imagepath");,但现在我使用DrawImage而不是b.Image。它有效,你救了我的命。
【解决方案2】:

这是解决您问题的一种方法:

public partial class Form1 : Form
{
    private System.Windows.Forms.ToolTip toolTip1;

    public Form1()
    {
        InitializeComponent();
        this.components = new System.ComponentModel.Container();
        this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);

        Button myBtn = new Button();
        this.Controls.Add(myBtn);

        myBtn.Location = new Point(10, 10);
        myBtn.MouseEnter += new EventHandler(myBtn_MouseEnter);
        myBtn.MouseLeave += new EventHandler(myBtn_MouseLeave);
    }


    void myBtn_MouseEnter(object sender, EventArgs e)
    {
        Button btn = (sender as Button);
        if (btn != null)
        {
            this.toolTip1.Show("Hello!!!", btn);
        }
    }

    void myBtn_MouseLeave(object sender, EventArgs e)
    {
        Button btn = (sender as Button);
        if (btn != null)
        {
            this.toolTip1.Hide(btn);
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2019-10-03
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多