在Winforms应用程序中以编程方式显示工具提示
时间:2020-03-05 18:53:36 来源:igfitidea点击:
如何以编程方式使控件的工具提示显示在Winforms应用程序中,而无需将鼠标悬停在控件上? (如有必要,可以进行P / Invoke)。
解决方案
回答
这是我使用的代码:
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函数为某个控件创建工具提示。
回答
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
回答
如果我们在表单上使用"工具提示"控件,则可以这样操作:
`ToolTip1.Show("要显示的文本",控制)
有关工具提示控件的"显示"方法的MSDN文档,此文档以及如何使用它们都有所有不同的变体。
回答
首先,我们需要向表单添加工具提示控件
其次,将工具提示控件添加到我们希望工具提示显示在(MyControl)上的某些控件上
第三,这样做:
Tooltip1.Show("我的工具提示文本",MyControl)