2017-11-11 248 views
-1

我有一個工具提示TextBox。如何在文本框旁邊顯示tooltil?

我需要在我的文本框旁邊顯示工具提示,但怎麼做?

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

參見:[展會上的文本框進入提示](HTTPS ://stackoverflow.com/questions/14695357/show-tooltip-on-textbox-entry)。 –

+0

你必須設置你的點x,y相對於你的文本框。 – aghilpro

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

摘要: 設置與指定控件關聯的工具提示文本,然後>在指定的相對位置顯示指定持續時間的工具提示 。

參數

文本: 一個包含新的工具提示文本System.String。

窗口: 顯示工具提示的System.Windows.Forms.Control。

: 甲System.Drawing.Point含有的偏移量,以像素爲單位,相對於該相關聯的控制窗口的 左上角,以顯示工具提示。

持續時間:含有 一個System.Int32的持續時間,以毫秒爲單位,以顯示 工具提示。

例外

System.ArgumentNullException: 窗口參數爲null。

System.ArgumentOutOfRangeException: 持續時間小於或等於0

+0

它的工作表示感謝。 :)) – comodor16

1

您還可以定義一個模板文本框

<TextBox.Template> 
    <ControlTemplate> 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{TemplateBinding ToolTip}" /> 
      <TextBox Text="{TemplateBinding TextBox.Text}"></TextBox> 
     </StackPanel> 
    </ControlTemplate> 
</TextBox.Template> 
+0

這很好。謝謝 – Skyuppercut

相關問題