descargar - Muestra programáticamente tooltip en la aplicación winforms
winforms mono (6)
Este es el código que uso:
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 );
}
}
Llame a la función CreateToolTip para crear una información sobre herramientas para un control determinado.
¿Cómo puedo programar programáticamente que la información sobre herramientas de un control se muestre en una aplicación de Winforms sin necesidad de que el mouse pase el control por encima? (P / Invoke está bien si es necesario).
Kevin, si quieres crear tu propio globo, lee este enlace: Tarea 3: Mostrando consejos de globos . Allí mencionó la clase NativeMethods con la constante TOOLTIPS_CLASS.
Primero, debe agregar control de información sobre herramientas al formulario. Segundo, adjuntar el control de información sobre herramientas al control que desea que se muestre en la información sobre herramientas (MyControl). Tercero, hacer esto: Tooltip1.Show ("Mi información sobre herramientas", MyControl)
Si crea su variable private para todo el formulario, podrá llamar al sub para el y ajustar el initialdelay.
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
Si está utilizando el control Tooltip
en el formulario, puede hacerlo así:
ToolTip1.Show("Text to display", Control)
La documentación de MSDN para el método "Mostrar" del control ToolTip tiene todas las diferentes variaciones sobre esto y cómo usarlas.
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello");
La información sobre herramientas se establecerá sobre el control "textBox1".
Lea aquí: