为自定义用户控件创建工具提示
本文关键字:创建 工具提示 控件 用户 自定义 | 更新日期: 2023-09-27 18:18:38
我需要了解如何使用自定义UserControl
的ToolTip
。只是在窗体上创建工具提示并指定特定控件的工具提示(通过SetToolTip
)显然是行不通的。
为了给自定义UserControl分配工具提示文本,我需要给它什么属性?我需要在用户控件表单上添加工具提示吗?我该怎么做呢?
请提供一个代码样本或我可视化的东西。
谢谢!
在UserControl上放置一个工具提示(使用设计器,就像在表单上放置工具提示一样),并为UserControl添加一个公共属性,如:
public string TextBoxHint
{
get
{
return toolTip1.GetToolTip(textBox1);
}
set
{
toolTip1.SetToolTip(textBox1, value);
}
}
-
在用户控件中创建SetToolTip方法并为每个用户控件的子控件设置工具提示:
public partial class SomeUserControl : UserControl { public void SetToolTip(ToolTip toolTip) { string text = toolTip.GetToolTip(this); toolTip.SetToolTip(subControl1, text); toolTip.SetToolTip(subControl2, text); // ... } }
-
在父控件设计器中为用户控件实例设置工具提示文本。这添加了.designer文件:
this.toolTip1.SetToolTip(this.someUserControl1, "Some text.");
-
使用ToolTip父控件实例从父控件的构造函数调用SetToolTip方法:
public partial class ParentForm : Form { public ParentForm() { InitializeComponent(); someUserControl1.SetToolTip(toolTip1); } }
这是实现序列化ToolTip属性的正确方法:
public partial class YourControlClass : UserControl
{
// Serialized property.
private ToolTip toolTip = new System.Windows.Forms.ToolTip();
// Public and designer access to the property.
public string ToolTip
{
get
{
return toolTip.GetToolTip(this);
}
set
{
toolTip.SetToolTip(this, value);
}
}