2017-05-31 52 views
0

我有一个图片框,其中有一个关联的工具提示,当图片框被点击时我想要显示,但不是当鼠标悬停在它上面时。我尝试了PictureBox的创建空MouseHover事件,但仍显示工具提示:工具提示不应该显示在MouseHover上

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

我能做些什么,这样的提示是不是MouseHover显示?

+0

活动可以有多种方法依赖于他们。尝试在悬停事件中添加'e.Handled = true'。这样,事件被标记为已处理,并且该事件的后续方法未被调用。 – Lithium

回答

3

不要为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); 
} 

为了防止工具提示中设置permantly的事件处理程序添加到图片框为MouseEnter

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

谢谢!点击后,悬停事件再次处于活动状态。 (我已删除原始提示) –

+0

我已添加一种方法来防止此问题 –

+0

再次感谢您的帮助! –