Как я могу программно вызывать всплывающую подсказку элемента управления в приложении Winforms, не требуя, чтобы мышь зависала над элементом управления? (При необходимости P/Invoke).
Программно показать всплывающую подсказку в приложении winforms
Ответ 1
Если вы используете элемент Tooltip
в форме, вы можете сделать это следующим образом:
ToolTip1.Show("Text to display", Control)
Ответ 2
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello");
Всплывающая подсказка будет установлена над элементом управления "textBox1".
Прочитайте здесь:
Ответ 3
Сначала вам нужно добавить управление всплывающей подсказкой в форму Второе прикрепите управление всплывающей подсказкой к некоторому элементу управления, который вы хотите отобразить всплывающей подсказкой (MyControl) Третье: Tooltip1.Show( "My ToolTip Text", MyControl)
Ответ 4
Кевин, если вы хотите создать свой собственный воздушный шар, прочитайте эту ссылку: Задача 3: показать подсказки для шаров. Там упоминается класс NativeMethods с константой TOOLTIPS_CLASS.
Ответ 5
Если вы создадите переменную private для всей формы, вы сможете вызвать sub для и отредактировать начальную дату.
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
Ответ 6
Это код, который я использую:
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, чтобы создать подсказку для определенного элемента управления.