Программно показать подсказку в приложении winforms - PullRequest
24 голосов
/ 15 сентября 2008

Как программно заставить подсказку элемента управления отображаться в приложении Winforms без необходимости наведения мыши на элемент управления? (P / Invoke в порядке, если необходимо).

Ответы [ 6 ]

24 голосов
/ 15 сентября 2008

Если вы используете элемент управления Tooltip в форме, вы можете сделать это следующим образом:

ToolTip1.Show("Text to display", Control)

Документация MSDN для метода "Показать" элемента управления ToolTip содержит все возможные варианты и способы их использования.

9 голосов
/ 15 сентября 2008
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello");

Подсказка будет установлена ​​поверх элемента управления "textBox1".

Прочитайте здесь:

http://msdn.microsoft.com/en-us/library/aa288412.aspx

1 голос
/ 23 августа 2012

Кевин, если вы хотите создать свой собственный воздушный шар, прочитайте эту ссылку: Задание 3: Отображение подсказок по воздушному шару . Там упоминался класс NativeMethods с константой TOOLTIPS_CLASS.

1 голос
/ 30 октября 2009

Сначала вам нужно добавить всплывающую подсказку в форму Во-вторых, прикрепите элемент управления всплывающей подсказки к некоторому элементу управления, на который вы хотите, чтобы он отображался (MyControl) Третьи делают это: Tooltip1.Show («My ToolTip Text», MyControl)

0 голосов
/ 08 апреля 2013

Если вы создадите переменную private для всей формы, вы сможете вызвать подпрограмму для и настроить начальную задержку.

Public Class MyForm        
Private MyTooltip As New ToolTip        
...        
Sub ApplyToolTips        
'For default        
ApplyToolTips (1000)        
End Sub        

Sub ApplyTooltips (ByVal Delay as Integer)        

MyTooltip .InitialDelay = Delay        
MyTooltip.AutoPopDelay = 5000        
...        
MyTooltip.SetToolTip(Me.btnClose, "Close the form")        

End Sub       

Private Sub Btn_Click(sender As System.Object, e As System.EventArgs) Handles Btn.Click           
    Dim PicBox As PictureBox = CType(sender, PictureBox)        
    ApplyTooltips (0)       
    ApplyTooltips (1000)       
End Sub       
0 голосов
/ 15 сентября 2008

Это код, который я использую:

static HWND hwndToolTip = NULL;

void CreateToolTip( HWND hWndControl, TCHAR *tipText )
{  
    BOOL success;

  if( hwndToolTip == NULL )
  {
    hwndToolTip = CreateWindow(  TOOLTIPS_CLASS, 
                                 NULL, 
                                 WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,                                     
                                 CW_USEDEFAULT, CW_USEDEFAULT, 
                                 CW_USEDEFAULT, CW_USEDEFAULT,                                     
                                 NULL, NULL,
                                 hInstResource, 
                                 NULL ); 
  }

  if( hwndToolTip )
  { 
    TOOLINFO ti; 

    ti.cbSize   = sizeof(ti); 
    ti.uFlags   = TTF_TRANSPARENT | TTF_SUBCLASS; 
    ti.hwnd     = hWndControl; 
    ti.uId      = 0; 
    ti.hinst    = NULL; 
    ti.lpszText = tipText; 

    GetClientRect( hWndControl, &ti.rect ); 

    success = SendMessage( hwndToolTip, TTM_ADDTOOL, 0, (LPARAM) &ti ); 
  }
}

Вызовите функцию CreateToolTip, чтобы создать подсказку для определенного элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...