4

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 );

那是行不通的。

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

4

2 回答 2

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);
}
于 2012-05-09T19:30:26.410 回答
0

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

myToolTip.ShowAlways = true;

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

于 2012-05-09T19:20:16.190 回答