9.1.1  KeyPress事件

9.1.1 KeyPress事件

当所按的键产生字符时将引发KeyPress事件,KeyPress事件的语法格式如下。

978-7-111-49659-5-Chapter09-1.jpg

其中,Object表示一个对象,即接收按键的对象;index用于控件数组,用来唯一标识在控件数组中的一个控件(如果不是控件数组,则不会出现该参数);KeyAscii返回按键对应的ASCII码整型数值。KeyAscii的值通过引用传递对它进行改变,可给接收按键的对象发送一个不同的字符。

例如:

978-7-111-49659-5-Chapter09-2.jpg

【例9-1】编写文本框的KeyPress事件过程,使该文本框中只能输入数字。完整代码如下。

978-7-111-49659-5-Chapter09-3.jpg

978-7-111-49659-5-Chapter09-4.jpg

【例9-2】在窗体上创建一个文本框,程序运行,当在文本框中输入内容并按下<Enter>键后,输出字符的个数。

978-7-111-49659-5-Chapter09-5.jpg

【例9-3】编写文本框的KeyPress事件过程,把在TextBox中输入所有字符都转换为大写形式。

完整代码如下。

978-7-111-49659-5-Chapter09-6.jpg

KeyPress事件只识别<Enter>、<Tab>和<Backspace>及标准键盘上的字母、数字、标点等标准ASCII字符。如果要检测其他功能键、编辑键和定位键以及任意这些键与键盘换挡键(如Ctrl、Shift、Alt)的组合等,则需要利用KeyDown事件和KeyUp事件。