Windows窗体中的工具提示问题(C#)

时间:2010-10-22 08:10:18

标签: c# winforms .net-2.0 tooltip

我有4个按钮和图像的表格。对于所有这些控件,我使用以下代码添加了工具提示

 ToolTip objToolTip=null;
    .....
    public Form1()
    {
        objToolTip=new ToolTip();
    }
    .....
    //Used to set the button lables based on Data from database
    private void SetButtonlabels()
    {
        objToolTip.SetToolTip(btnSAPConnect, "Connects to SAP");
    }

问题是,一旦打开表单,即使我们将鼠标移到控件上,工具提示也不会立即出现。但是,一旦我点击表格,工具提示工作正常。我不确定是什么导致了这个问题。

任何人都可以帮忙解决这个问题。

5 个答案:

答案 0 :(得分:2)

你这样说:

  

打开表单后,即使我们将鼠标移到控件上,工具提示也不会立即显示。但是,一旦我点击表格,工具提示工作正常。

这让我认为它是标准的Windows行为,并且当你打开它时你的表单没有得到焦点。许多应用程序中的工具提示仅在其父窗口被激活时才有效。

答案 1 :(得分:2)

我希望这会有所帮助。它解决了我在form_load事件中没有显示工具提示的问题。 我手动点击我的WindowsForm控件后发现工具提示正常工作。

由于某些原因,只有在您的WindowsForm控件处于活动状态时才会生效(通常在用户点击表单后)。

因此,要解决此问题,您需要激活代码背后的表单。

this.Activate();

ToolTip toolTip = new ToolTip();
toolTip.ToolTipTitle = "Info";
toolTip.ToolTipIcon = ToolTipIcon.Info;
toolTip.UseFading = true;
toolTip.UseAnimation = true;
toolTip.IsBalloon = true;
toolTip.ShowAlways = true;
toolTip.AutoPopDelay = 5000;
toolTip.InitialDelay = 1000;
toolTip.ReshowDelay = 500;
toolTip.Show("This is button1", button1, 10000);

答案 2 :(得分:1)

从form1的构造函数中调用SetButtonlabels()

答案 3 :(得分:0)

用你的方法调用SetButtonlabels()?

尝试在表单初始化后调用它。

答案 4 :(得分:0)

我刚关注表单上的一个控件。它开始运作了。

相关问题