如何以编程方式将控件的工具提示显示在Winforms应用程序中,而无需鼠标悬停在控件上? (如有必要,P/Invoke可以)。以编程方式在Winforms应用程序中显示工具提示
23
A
回答
23
如果您正在使用窗体上的Tooltip
控制,你可以做这样的:
ToolTip1.Show("Text to display", Control)
的MSDN documentation for the ToolTip control's "Show" method拥有所有不同的变化以及如何使用它们。
-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
9
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello");
工具提示将设置在控件“textBox1”上。
有一个在这里阅读:
1
首先,你需要工具提示控件添加到窗体 第二附加工具提示控件到你想要的工具提示上显示的一些控制(MyControl) 三做到这一点: Tooltip1.Show(“我的提示文本”,MyControl )
1
凯文,如果你想创建自己的气球,请阅读以下链接:Task 3: Showing Balloon tips。这里提到了带有TOOLTIPS_CLASS常量的NativeMethods类。
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
相关问题
- 1. 以编程方式显示ajax调用后的工具提示
- 2. flex以编程方式显示工具提示图表
- 3. 在Angular4中以编程方式显示/隐藏引导工具提示
- 4. 以编程方式将工具提示放在ListBox类上
- 5. 是否可以在iOS应用程序中显示工具提示?
- 6. Swift - 如何以编程方式显示“粘贴”工具提示菜单?
- 7. 以编程方式显示应用程序栏菜单(wp7)
- 8. 当验证程序返回“无效”时,如何以编程方式在TextInput上显示工具提示?
- 9. 编程方式显示在iPhone应用程序
- 10. C#Winforms:以编程方式显示Button的悬停状态
- 11. 的WinForms工具提示中的WinForms DataGridViewImageColumn
- 12. 仿真程序不会在操作栏中显示工具提示提示栏
- 13. 如何以编程方式在禁用的按钮上设置工具提示?
- 14. 如何在高图中以编程方式关闭工具提示?
- 15. Android应用程序始终在工具栏中显示应用程序名称
- 16. 以编程方式显示桌面
- 17. 显示进度条 - 以编程方式
- 18. 以编程方式显示主视图
- 19. 以编程方式显示iPhone键盘
- 20. 以编程方式突出显示UIBarButtonItem
- 21. 以编程方式显示dijit /菜单
- 22. 以编程方式显示RowDetails
- 23. 以编程方式显示options.xul
- 24. 如何以编程方式显示UITableView?
- 25. 在WinForms应用程序中是否有简单的方式显示扑克牌?
- 26. 如何提交我的应用程序以显示在Facebook应用程序中
- 27. 如何以编程方式在editext中显示不同的提示
- 28. iPhone应用程序演练/工具提示/演示
- 29. 如何在WinForms中显示一个显示跟踪栏值的工具提示
- 30. 以编程方式在android中设置编辑文本提示?
我不认为这是正确的。如果你这样做,那么工具提示会显示,但每当你将鼠标移动到那里的控件上时,它也会显示。没有办法一次性显示命令的工具提示吗? – PICyourBrain 2011-10-12 14:13:12