C# Forms Mouse Hover Не запускается в элементах управления? - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь написать код на Mouse_Hover для кнопки

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

Но toolTip1 не отображается !!

после этого я пытаюсь использовать MouseHover в других элементах управления, но этого не произошло работают, и я пытаюсь использовать MessageBox, но это даже не сработало, и я дважды проверяю События для кнопки (и других элементов управления) на вкладке свойств.

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Это способ решения вашей проблемы:

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);
        }
    }
1 голос
/ 21 июня 2020

Вам не нужно подключать элементы управления для использования события наведения мыши, чтобы использовать всплывающую подсказку. MSDN содержит полезные инструкции, суть которых состоит в том, чтобы «добавить всплывающую подсказку в форму, назначить всплывающую подсказку кнопке»

...