2008-09-15 82 views

回答

23

如果您正在使用窗体上的Tooltip控制,你可以做这样的:

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

MSDN documentation for the ToolTip control's "Show" method拥有所有不同的变化以及如何使用它们。

+5

我不认为这是正确的。如果你这样做,那么工具提示会显示,但每当你将鼠标移动到那里的控件上时,它也会显示。没有办法一次性显示命令的工具提示吗? – PICyourBrain 2011-10-12 14:13:12

-1

这是我使用的代码:

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功能创造了一定的控制工具提示。

+0

如何获取TOOLTIPS_CLASS的引用,我得到HWND,TCHAR等编译器错误。这些似乎没有在.Net中定义。我必须添加参考吗? – 2012-06-19 14:56:54

1

首先,你需要工具提示控件添加到窗体 第二附加工具提示控件到你想要的工具提示上显示的一些控制(MyControl) 三做到这一点: Tooltip1.Show(“我的提示文本”,MyControl )

0

如果您为整个表单创建私有变量,您将能够调用子变量并调整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  
相关问题