工具提示不显示,单击控件时闪烁

时间:2009-11-12 18:59:24

标签: c# winforms tooltip

我有一个禁用的复选框,应该在悬停时显示工具提示,但没有任何反应。单击复选框后,工具提示会立即显示,然后快速闪烁。可能是什么导致了这个? 工具提示也应该针对所涉及的每个控件进行显示,但是针对所有控件明确设置工具提示,显示某些而非其他控件。可能导致这种行为的原因是什么?

这是事件处理程序:

this.MouseHover += new EventHandler(OrderSummaryDetails_MouseHover);


void EventHandler_MouseHover(object sender, EventArgs e)
{
     if (someCondition)
     {
         this.mFormTips.Show("Please open order form to manually modify this order", this);
     }
}

2 个答案:

答案 0 :(得分:1)

我不能肯定,但如果使用WinForms,并且您禁用了复选框(如未启用),则复选框将不会收到事件。这将导致工具提示无法正确显示。

在使用图像按钮之前我遇到了完全相同的问题,而我最终要做的是创建图像的灰度级并在我希望按钮被“禁用”时将其换出。我不得不将工具提示添加到按钮和图像(两个单独的UI元素)并交换UI元素。

答案 1 :(得分:0)

我添加了一个MouseMove事件并将其应用于所有控件。

void OrderSummaryDetails_MouseMove(object sender, MouseEventArgs e)
{
      Control control = GetChildAtPoint(e.Location);
      if (control != null)
      {
          string toolTipString = mFormTips.GetToolTip(control);
          this.mFormTips.ShowAlways = true;
          // trigger the tooltip with no delay and some basic positioning just to give you an idea
          mFormTips.Show(toolTipString, control, control.Width / 2, control.Height / 2);
      }
}