2011-09-15 57 views
2

我希望我的C#程序具有textboxes的初始值。例如,在textboxes之一中,應該表示"Please enter your name"如何給文本框初始值?

當您單擊textbox上的(或tabStop)時,初始值應該消失,用戶將能夠輸入到textbox的輸入。

我可以用click_event來做所有這些,但是使用這種方法時,初始文本不會有較少的不透明度。我怎麼能做到這一點?

+1

ASP.net,Winforms,WPF,Silverlight ...? –

+0

Winforms它是〜 – Emil

回答

4

這是怎麼了,我終於做到了:

Boolean first_time_click = true; 

private void Form1_Load(object sender, EventArgs e) 
     { 
      textBox1.ForeColor = System.Drawing.Color.Gray; 
      textBox1.Text = "Enter the Text"; 
     } 

private void For_First_Click() 
     { 
      if (first_time_click) 
      { 
       textBox1.Clear(); 
       textBox1.ForeColor = textBox1.ForeColor = SystemColors.WindowText; 
      } 
      first_time_click = false; 
     } 

private void textBox1_Click(object sender, EventArgs e) 
     { 
      For_First_Click(); 
     } 
+1

除了first_time_click之外,您可以使用TextBox.Modified屬性,只有在用戶修改了TextBox後才能成爲true。 –

0

我假設你說的是winform(tabstop),你必須在事件按鍵內處理它。你可以使用下面的代碼:

TextBox1.Select(0, TextBox1.Text.Length); 

這將選擇文本和窗口一旦用戶開始刪除它爲您打字

您可以使用相同的代碼有這種行爲也爲TabStop

+0

那麼初始文本看起來不那麼透明呢? – Emil

+0

這是另一回事:您必須重寫文本框的OnPaint事件 –

+0

在Windows應用程序中設置顏色時請小心。如果有人正在使用非標準配色方案,那麼您將會把它們搞亂。但是,您可以使用默認系統顏色之一(如「禁用文本」顏色或類似的東西)。 – TomXP411

-1

對於這種類型的效果,您需要java腳本。因爲java腳本爲您提供鼠標懸停和鼠標移出的功能,這些功能爲您提供了與在此頁面搜索欄中看到的功能相同的功能。如果你需要代碼回覆我,我可以給你。

+2

我們在這裏討論的是winform –

0

所有你需要做的是設置文本框的。文本屬性,並使用GotFocus事件以清除框當人點擊(或標籤)到它開始輸入。

一定要記住,有比鼠標更多的方式來瀏覽表單,所以使用GotFocus事件來確定用戶何時輸入控件,並使用Validated事件來確定他們何時更改數據並退出控件。

相關問題