我们有时希望某个文本框只能输入数字,不能输入字符。有时希望用户在文本框中输入的数字最大不能超过某个值。这个对于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,后,系统就不再处理它了,这样,这次输入就被取消了。