实例说明
开发一些应用软件时,要求用户录入数据,根据录入数据的类型和具体情况需要对数据进行处理,例如,在录入商品数量时,要求录入的数据必须是数字。为了防止用户录入错误的数据,提高工作效率,这时就需要在文本框中对录入的数据进行处理,如果录入的数据不符合要求,则给出信息提示。实例运行结果如图:

技术要点
控制文本框中只能输入数字主要是通过TextBox控件的KeyPress事件实现的。KeyPress事件用来在控件有焦点的情况下,按下键盘中的按键时发生,其语法格式如下:
public event KeyPressEventHandler KeyPress
其中,KeyPressEventHandler表示将要处理 Control的 KeyPress事件的方法。其语法格式如下:
public delegate void KeyPressEventHandler (Object sender,KeyPressEventArgs e)
参数说明如下:
sender:事件源。
e:包含事件数据的KeyPressEventArgs。
KeyPressEventArgs对象有Handled属性和KeyChar属性。
(1)Handled属性
此属性获取或设置一个值,该值指示是否处理过KeyPress事件。其语法格式如下:
public bool Handled { get; set; }
属性值:如果处理过事件,则为True;否则为False。
(2)KeyChar属性
此属性获取或设置与按下的键对应的字符。其语法格式如下:
public char KeyChar { get; set; }
属性值:键盘键所对应的ASCII字符。
例如,用户可以使用 KeyChar获取或设置以下键:a-z、A-Z、Ctrl、标点符号、键盘顶部和数字键盘上的数字键、Enter键。下面示例判断用户是否按下回车键。代码如下:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{ MessageBox.Show("您按下回车键了"); }
}
键盘所对应ASCII字符集:

可自行查询
注意:在限制用户输入非0~9之间的数字的同时,不应限制用户输入“回车”和“退格”,否则将给用户带来不便。
实现过程
(1)新建一个Windows应用程序,将其命名为HardlyEnableFigure,默认窗体为Form1。
(2)在Form1窗体中添加一个TextBox控件,用于输入要验证的数字。
(3)主要程序代码。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar))&&e.KeyChar!=13)//
{
//弹出信息提示
MessageBox.Show("商品数量只能输入数字", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
e.Handled = true; //表示已经处理过了KeyPress事件
}
}