我有一个带有工具提示的TextBox。
我需要在textBox旁边显示工具提示但是如何?
if (this.txtBoxName.Text == "")
{
ToolTip tip = new ToolTip();
tip.IsBalloon = false;
tip.ToolTipTitle = "";
tip.InitialDelay = 0;
tip.BackColor = Color.Aqua;
this.txtBoxName.Focus();
Point point = new Point(750, 560);
tip.Show("Please Enter UserName", this.txtBoxName);
}
答案 0 :(得分:1)
试试这个:
if (this.txtBoxName.Text == null || this.txtBoxName.Text == "")
{
ToolTip tip = new ToolTip();
tip.IsBalloon = false;
tip.ToolTipTitle = "";
tip.InitialDelay = 0;
tip.BackColor = Color.Aqua;
this.txtBoxName.Focus();
Point point = new Point(txtBoxName.Location.X - 50, txtBoxName.Location.Y - 50); // for example 50px change
tip.Show("Please Enter UserName", this.txtBoxName, point, 2000); // set 2000ms to auto close TooTip
}
我使用了这个Show
函数overLoad
,请参阅更多相关信息:
public void Show(string text, IWin32Window window, Point point, int duration);
:
<强>摘要强>: 设置与指定控件关联的工具提示文本,然后显示&gt; 在指定的相对位置指定持续时间的工具提示。
<强>参数强>:
文字强>: 包含新工具提示文本的System.String。
<强>窗口强>: System.Windows.Forms.Control显示工具提示。
<强>点强>: 一个System.Drawing.Point,包含相对于的偏移量(以像素为单位) 相关控制窗口的左上角,显示工具提示。
<强>持续时间强>: 一个System.Int32,包含显示的持续时间(以毫秒为单位) 工具提示。
<强>例外强>:
System.ArgumentNullException: window参数为null。
System.ArgumentOutOfRangeException: 持续时间小于或等于0.
答案 1 :(得分:1)
您还可以为文本框定义模板
<TextBox.Template>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{TemplateBinding ToolTip}" />
<TextBox Text="{TemplateBinding TextBox.Text}"></TextBox>
</StackPanel>
</ControlTemplate>
</TextBox.Template>