为自定义UserControl创建工具提示

时间:2011-12-20 20:32:29

标签: c# winforms

我需要了解如何将ToolTip与自定义UserControl结合使用。只需在表单上创建工具提示并为特定控件指定工具提示(通过SetToolTip)显然不起作用。

为了向其分配ToolTip文本,我需要为自定义UserControl提供哪些属性?我是否需要在usercontrol表单上添加工具提示?我怎么能这样做呢?

请提供代码示例或其他内容供我查看。

谢谢!

2 个答案:

答案 0 :(得分:8)

在UserControl上放置一个工具提示(使用设计器,就像在表单上放一个),并向UserControl添加一个公共属性,如:

    public string TextBoxHint
    {
        get 
        { 
            return toolTip1.GetToolTip(textBox1); 
        }
        set
        {
            toolTip1.SetToolTip(textBox1, value);                
        }
    }

答案 1 :(得分:0)

  1. 在用户控件中创建 SetToolTip 方法,并为每个用户控件的子控件设置工具提示:

     public partial class SomeUserControl : UserControl
     {
         public void SetToolTip(ToolTip toolTip)
         {
             string text = toolTip.GetToolTip(this);
    
             toolTip.SetToolTip(subControl1, text);
             toolTip.SetToolTip(subControl2, text);
             // ...
         }
     }
    
  2. 在父控件设计器中为用户控件实例设置工具提示文本。这会添加.designer文件:

     this.toolTip1.SetToolTip(this.someUserControl1, "Some text.");
    
  3. 从父控件的构造函数中使用 ToolTip 父控件实例调用用户控件实例的 SetToolTip 方法:

     public partial class ParentForm : Form
     {
         public ParentForm()
         {
             InitializeComponent();
    
             someUserControl1.SetToolTip(toolTip1);
         }
     }