2013-05-09 2 views
-5

Я визуализую кнопки в форме окна, и есть некоторые из них, которые я установил enable = false. Но я хочу, чтобы всплывающая подсказка все же работала для каждой кнопки, даже если она не поддается. Как я мог это сделать?Подсказка не работает с кнопкой, которая установлена ​​enable = false

Пожалуйста, помогите.

+2

Вам нужно вставить код с проблемой, так что вы можете получить помощь быстро – ErrorNotFoundException

+0

я предполагаю, что это дизайн –

+0

Я просто добавить кнопку в моей форму и использовать oTip.SetToolTip (oButton, showText); – user1412944

ответ

0

Вы можете перехватить событие MouseMove, а затем программно отобразить всплывающую подсказку. toolTip1 ваша форма подсказка очевидно

private bool toolTipShown = false; 
private void Control_MouseMove(object sender, MouseEventArgs e) 
{ 
    var parent = sender as Control; 
    if (parent == null) 
    { 
     return; 
    } 
    var ctrl = parent.GetChildAtPoint(e.Location); 
    if (ctrl != null) 
    { 
     if (ctrl.Visible && toolTip1.Tag == null) 
     { 
      if (!toolTipShown) 
      { 
       var tipstring = toolTip1.GetToolTip(ctrl); 
       toolTip1.Show(tipstring.Trim(), ctrl, ctrl.Width/2, ctrl.Height/2); 
       toolTip1.Tag = ctrl; 
       toolTipShown = true; 
      } 
     } 
    } 
    else 
    { 
     ctrl = toolTip1.Tag as Control; 
     if (ctrl != null) 
     { 
      toolTip1.Hide(ctrl); 
      toolTip1.Tag = null; 
      toolTipShown = false; 
     } 
    } 
} 
Смежные вопросы