我有一个 .net 控件(好的,很多)。我可以在任何给定控件上调用方法,但不能创建新控件或访问我没有控件的类的静态方法。我无权访问任何工具提示对象。有什么方法可以获取给定控件的工具提示对象?
(我们在 Java 中使用一个相当受限的测试自动化框架来访问用 C#.net 编写的应用程序的控件,这是这个奇怪查询背后的背景)
ETA:也许我没有说清楚。我不是要设置工具提示,而是要获取现有的工具提示。而且我无法创建新控件,因此包括在内的任何内容new Foo()
都不起作用。
string text = toolTip1.GetToolTip(yourControl);
这将为您提供 yourControl 工具提示上的文本。
看来这是不可能的。:( 要获得控件的工具提示,我需要访问 ToolTip 类,如果我正在对控件进行编程但没有真正公开,这很好。
你可以这样做
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello");
添加弹出事件。下面的代码正在获取为工具提示设置的值,并在 MDIForm 上将其显示为状态文本框。
private void toolTip1_Popup(object sender, PopupEventArgs e)
{
Control TheControl = e.AssociatedControl;
cls_Global.gf_MDIForm.DisplayMsg(this.toolTip1.GetToolTip(TheControl) + "");
}