C# Forms 鼠标悬停不触发控件?

C# Forms Mouse Hover Not firing in controls?

我正尝试在 Mouse_Hover 上为 Button

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

但是 toolTip1 没有显示!!

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

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

这是解决您问题的方法:

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);
        }
    }