Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 鼠标悬停时不应显示工具提示_C#_Winforms - Fatal编程技术网

C# 鼠标悬停时不应显示工具提示

C# 鼠标悬停时不应显示工具提示,c#,winforms,C#,Winforms,我有一个带有相关工具提示的picturebox,我想在单击picturebox时显示它,但鼠标悬停在上面时不显示。我尝试为picturebox创建一个空鼠标悬停事件,但工具提示仍然显示: private void pictureBox3_MouseHover(object sender, EventArgs e) { } private void pictureBox3_Click(object sender, EventArgs e) {

我有一个带有相关工具提示的picturebox,我想在单击picturebox时显示它,但鼠标悬停在上面时不显示。我尝试为picturebox创建一个空鼠标悬停事件,但工具提示仍然显示:

    private void pictureBox3_MouseHover(object sender, EventArgs e)
    {

    }

    private void pictureBox3_Click(object sender, EventArgs e)
    {
        int durationMilliseconds = 30000;
        toolTip1.Show(toolTip1.GetToolTip(pictureBox3), pictureBox3, durationMilliseconds);
    }

如何才能使工具提示不显示在鼠标上方?

不要为pictureBox3设置工具提示(将其删除)。只需展示一个:

// On class scope to have access from MouseEnter
ToolTip tt = new ToolTip();

private void pictureBox3_Click(object sender, EventArgs e)
{
    int durationMilliseconds = 30000;        
    tt.IsBalloon = true;
    tt.InitialDelay = 0;
    tt.Show("tooltip text", pictureBox3, durationMilliseconds);
}
要防止永久设置工具提示,请将事件处理程序添加到
MouseEnter
的picturebox中:

private void pictureBox3_MouseEnter(object sender, EventArgs e)
{
     tt.RemoveAll();
}

不要为pictureBox3设置工具提示(将其删除)。只需展示一个:

// On class scope to have access from MouseEnter
ToolTip tt = new ToolTip();

private void pictureBox3_Click(object sender, EventArgs e)
{
    int durationMilliseconds = 30000;        
    tt.IsBalloon = true;
    tt.InitialDelay = 0;
    tt.Show("tooltip text", pictureBox3, durationMilliseconds);
}
要防止永久设置工具提示,请将事件处理程序添加到
MouseEnter
的picturebox中:

private void pictureBox3_MouseEnter(object sender, EventArgs e)
{
     tt.RemoveAll();
}

事件可以有多个绑定到它们的方法。尝试将
e.Handled=true
添加到悬停事件。通过这种方式,事件被标记为已处理,并且不会调用该事件的后续方法。事件可以有多个绑定到它们的方法。尝试将
e.Handled=true
添加到悬停事件。这样,事件将标记为已处理,并且不会调用该事件的后续方法。谢谢!但单击后,悬停事件将再次激活。(我已经删除了原来的工具提示)我已经添加了一种方法来防止这种情况再次感谢您的帮助!谢谢但单击后,悬停事件将再次激活。(我已经删除了原来的工具提示)我已经添加了一种方法来防止这种情况再次感谢您的帮助!