2009-11-12 61 views
0

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

这里是事件处理程序:

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

回答

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

我不能肯定的,但如果使用的WinForms,你有你的复选框被禁用(如在未启用),则该复选框将不会收到事件。这将导致工具提示不能正确显示。

我有一个图像按钮之前完全相同的问题,我最终不得不做的是创建一个灰度的图像和交换出来,当我想要的按钮被禁用。我不得不将工具提示添加到按钮和图像(两个单独的UI元素)并交换出UI元素。

+0

打我吧......这就是我要说的。 :) – Yoopergeek 2009-11-12 19:04:35

+0

我看到你在说什么,但工具提示正在显示,但只是片刻。所以它似乎在接收事件。 – 2009-11-12 19:10:12

+0

@DJ它可能会响应某种点击事件。很难说,因为当你禁用控件时,该特定控件的事件处理停止。 – Joseph 2009-11-12 19:29:27