2014-01-30 33 views
1

我有一個表格可以進行一些數學計算。如何在VB.Net 2010中使用佔位符作爲文本框如html

我希望用戶能夠快速輸入數據而不會擦除數值。

我的事情就像我在HTML

沒有,但我怎麼可以使用它在2010年VB.Net其良好的使用佔位符? 感謝

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     gtp.Text = "0.00" 
     vatt.Text = "0.00" 
     wht.Text = "0.00" 
     npr.Text = "0.00" 
    End Sub 

回答

2

此代碼清除文本框,如果當前值的佔位符值,否則它保留了輸入值。

Public Class Form1 
Private Sub TextBox1_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus 
    If TextBox1.Text = "0.00" Then 
     TextBox1.Text = "" 
    End If 
End Sub 
Private Sub TextBox1_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus 
    If TextBox1.Text = "" Then 
     TextBox1.Text = "0.00" 
    End If 
End Sub 
End Class 

如果你總是希望它來清除文本框,然後用這個。

Public Class Form1 
Private Sub TextBox1_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus 
    TextBox1.Text = "" 
End Sub 
Private Sub TextBox1_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus 
    If TextBox1.Text = "" Then 
     TextBox1.Text = "0.00" 
    End If 
End Sub 
End Class 

爲了模擬實際的佔位符,如一個在HTML5你需要覆蓋你的文本框的頂部label控制,並設置它是基於事件keyDownLostFocus/Leave事件visability這將取決於你的版本VS

+0

我一直在尋找一種方式,當你開始輸入清除文本框,但我耗盡了時間。您可以設置第一個擊鍵標誌並保留擊鍵或在進入文本框後全選。 – ZL1Corvette

0

我爲這項工作創建了DLL。

https://1drv.ms/u/s!AmR1BM6vUcAGgYsLPvjrec0Z92OTlQ

或者,您可以下載該項目佔位符類

https://1drv.ms/u/s!AmR1BM6vUcAGgYsMNFGbtW5HL_4Ifw

如何使用?

在你的winform項目中添加DLL。

(我說這個例子組框)

CS代碼:

var textBoxWithPlaceHolder = new Placeholder.PlaceholderTextBox(); 
textBoxWithPlaceHolder.PlaceholderText = "Search text"; 
textBoxWithPlaceHolder.Location = new Point(x: 10, y: 20); 
GBTextBox.Controls.Add(textBoxWithPlaceHolder); 

結果的winform

enter image description here