如何在winform上向用户定义的文本框添加工具提示

时间:2012-05-09 19:14:15

标签: c# winforms

我在表单上有一个uvSelfLoadingTextBox个实例。 我想在运行时加载带有_value属性的工具提示。

我试过

public ucSelfLoadingTextBox()
{
    Windows.Forms.ToolTip myToolTip;
    myToolTip.AutomaticDelay = 5000;
    myToolTip.AutoPopDelay = 50000;
    myToolTip.InitialDelay = 100;
    myToolTip.ReshowDelay = 500;

    myToolTip.SetToolTip(this, _value);

在控件内但不起作用。

我尝试使用拖到表单上的工具提示

    ucSelfLoadingLogicTextBox uc = new ucSelfLoadingLogicTextBox();
    toolTipA.SetToolTip(uc,uc._value );

这不起作用。

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

您忘记实例化myToolTip。您需要将其设置为new Tooltip()

另外,我认为在文本框的构造函数中分配工具提示并不是一个好习惯。您可以在OnCreateControl()(您需要覆盖)中执行此操作。

您的代码可能因此成为:

protected override void OnCreateControl()
{
    base.OnCreateControl();

    var myToolTip = new System.Windows.Forms.ToolTip
    {
        AutomaticDelay = 5000,
        AutoPopDelay = 50000,
        InitialDelay = 100,
        ReshowDelay = 500
    };

    myToolTip.SetToolTip(this, this.Text);
}

答案 1 :(得分:0)

Windows窗体上的许多可见控件都具有ToolTip属性。只需使用新创建的工具提示即可。您还可以向表单添加工具提示。你试过这个吗?

myToolTip.ShowAlways = true;

并尝试将此提示设置为按钮控件。这可能是对您的工具提示的一个很好的测试。