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

我有一个表单上有多个实例的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 );

这不起作用.

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

最佳答案 你忘了实例化myToolTip.您需要将其设置为新的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);
}
点赞