繁体   English   中英

工具提示问题

[英]Tool tip problem

我试图以编程方式为表单中的UserControl上的标签(在运行时添加)设置工具提示。 用于触发代码的按钮位于用户控件本身上。 问题是,当我单击按钮时,未分配工具提示。 但是,如果我在父表单上使用基本相同的代码并将其放在父表单上的按钮后面,我可以将工具提示分配给父表单上的标签。 此外,如果我在运行之前将标签添加到用户控件也可以。

以下代码来自位于主窗体上的用户控件上的按钮。

   private void button1_Click(object sender, EventArgs e)
        {
            Label lblTest = new Label();
            lblTest.Text = "Test";
            ToolTip tt = new ToolTip();
            tt.SetToolTip(lblTest, "ToolTipTest");
            this.Controls.Add(lblTest);
            lblTest.Location = new Point(10, 10);
        }

任何帮助都感激不尽。

您可以尝试手动显示工具提示。 使用这样的代码:

ToolTip tt = null;

private void button1_Click(object sender, EventArgs e)
{
    Label lblTest = new Label();
    lblTest.Text = "Test";
    tt = new ToolTip();
    this.Controls.Add(lblTest);
    lblTest.MouseHover += new EventHandler(label_Hover);
    lblTest.Location = new Point(10, 10);
}

private void label_Hover(object sender, EventArgs e) { tt.Show((Label)sender, "Tooltip"); }

粗体代码是我的添加和/或修改。

最有可能的是,在Click事件之后,ToolTip对象超出了范围。 您可以尝试在Click事件之外声明它:

ToolTip tt = new ToolTip();
private void button1_Click(object sender, EventArgs e) 
{  
   // and so on...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM