我們有時希望某個文字框只能輸入數字,不能輸入字元。有時希望使用者在文字框中輸入的數字最大不能超過某個值。這個對於vb.net來說都是太Easy了。
我們可以 通過 在 文字框的 KeyPress 事件 中添加代碼就可以非常輕鬆的實現這種效果。
比如我們希望文字框中只能輸入字元 a ,那麼我們可以這樣寫:
Private Sub TextBox1_KeyPress()Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar <> "a" Then
e.Handled = True
End If
End Sub
或者
Private Sub TextBox1_KeyPress()Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar <> "a" Then
e.KeyChar = ""
End If
End Sub
如果想讓文字框只能接受數字,則可以這樣寫(這個是 C#,但是與vb.net只有文法上的差異):
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar<="0"|| e.KeyChar>="9")
{
e.KeyChar="";
}
}
從前面的兩個例子我們我們可以知道。只要將System.Windows.Forms.KeyPressEventArgs 對象的 KeyChar 屬性的值清空,就會取消當前的鍵盤輸入。也可以將 System.Windows.Forms.KeyPressEventArgs 對象的Handled屬性置成true。來取消當前輸入。e.Handled表示當前的輸入是否處理過,如果為true,則表示處理過。所以當你用程式將它置成 true,後,系統就不再處理它了,這樣,這次輸入就被取消了。