ToolStrip按钮闪烁

时间:2009-10-20 09:07:26

标签: winforms

我有一个带有工具提示的Windows窗体,里面有几个按钮。 当鼠标悬停在工具提示的一个按钮上时,工具条按钮开始闪烁......看起来像是每秒都会失去焦点。 如果用户在按钮没有焦点时单击,则单击不执行任何操作,因此用户必须再次单击该按钮,再次使用它可以获得正确的时间。

有谁知道这件事?

我会尽快得到一些答案......

非常感谢

2 个答案:

答案 0 :(得分:4)

我找到了原因...... 默认情况下,Windows窗体中的工具条将工具提示设置为“自动”,如果工具提示在任务栏上打开,则工具条会失去焦点。

解决方法是禁用工具提示或将其设置为手动并在其他位置显示工具提示。

答案 1 :(得分:1)

以下是手动显示项目上方工具提示的代码:

private readonly ToolTip currentToolTip = new ToolTip();

private void ToolStripItem_MouseEnter(object sender, EventArgs e)
{
    ToolStripItem item = (ToolStripItem)sender;
    this.currentToolTip.Show(item.ToolTipText, item.Owner, item.Bounds.X, -20);
}

private void ToolStripItem_MouseLeave(object sender, EventArgs e)
{
    ToolStripItem item = (ToolStripItem)sender;
    this.currentToolTip.Hide(item.Owner);
}

您必须将事件处理程序添加到所有ToolStripItem并将ToolStrips的ShowItemToolTips设置为false。