通过代码在特定控制位置显示工具提示

时间:2014-01-24 16:08:33

标签: c# winforms location tooltip

我有一个textBox,当用户输入错误信息时,它应该显示一个带有解释的工具提示。

但是我无法将工具提示放在正确的位置。

我的文本框位于groupBox和TabControl中。我试过这个:

Point locationOnForm = new Point(this.Left + tabCon.Left + gbDocs.Left + tbKey.Left, this.Top + tabCon.Top + gbDocs.Top + tbKey.Top);

tooltipError.Show("Test", this, locationOnForm , 3000);

但是这个位置总是在附近,从不在正确的位置。

2 个答案:

答案 0 :(得分:2)

您可以轻松获得绝对定位。此示例将ToolTip放在TextBox的右下角。

Point pt = new Point(0, 0);
pt.Offset(textBox1.Width - 1, textBox1.Height - 1);
toolTipError.Show("Test", textBox1, pt, 3000);

请注意,您提供给工具提示的Point与您提供的Control相关,在本例中为textBox1

答案 1 :(得分:1)

这会将您的工具提示放在文本框的右侧

tooltipError.Show("TT Text", myGroupBox, textBox1.Left + textBox1.Width + 5, textBox1.Top, 3000);

注意 - 您需要将GroupBox设置为窗口 - 您的工具提示必须显示在与文本框相同的坐标中。效果很好。

在此注释中,为什么不使用专为此设计的ErrorProvider