Nav*_*r V 3 c# textbox key-events numpad
此代码不允许我从数字小键盘输入数值.
private void textBox1_KeyDown( object sender, KeyEventArgs e ) {
e.SuppressKeyPress = !( (e.KeyValue >= 48 && e.KeyValue <= 57) )
}
Run Code Online (Sandbox Code Playgroud)
如何包含一般数值(包括常规键和数字键)?
因为毕竟它们是不同的键,即使它们代表的字符是相同的.
要获得更好的结果,您可以使用Keys
枚举和KeyCode
属性:
e.SuppressKeyPress = !((e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9) || (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9))
Run Code Online (Sandbox Code Playgroud)
或者使用KeyPress
事件,因为在事件args中你将有char代码.
在KeyPress事件处理程序中,您可以执行以下操作:
e.Handled = !Char.IsDigit(e.KeyChar)
Run Code Online (Sandbox Code Playgroud)