![[填空题] 把窗体的KeyPreview属性设置为True,并编写如下两个事件过程:Private Sub Form KeyDown(KeyCode As Integer,Shift As Int,第1张 [填空题] 把窗体的KeyPreview属性设置为True,并编写如下两个事件过程:Private Sub Form KeyDown(KeyCode As Integer,Shift As Int,第1张](/aiimages/%5B%E5%A1%AB%E7%A9%BA%E9%A2%98%5D+%E6%8A%8A%E7%AA%97%E4%BD%93%E7%9A%84KeyPreview%E5%B1%9E%E6%80%A7%E8%AE%BE%E7%BD%AE%E4%B8%BATrue%EF%BC%8C%E5%B9%B6%E7%BC%96%E5%86%99%E5%A6%82%E4%B8%8B%E4%B8%A4%E4%B8%AA%E4%BA%8B%E4%BB%B6%E8%BF%87%E7%A8%8B%EF%BC%9APrivate+Sub+Form+KeyDown%28KeyCode+As+Integer%2CShift+As+Int.png)
[填空题] 把窗体的KeyPreview属性设置为True,并编写如下两个事件过程:
Private Sub Form KeyDown(KeyCode As Integer,Shift As Integer)
Print KeyCode;
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Print KeyAscii
End Sub
程序运行后,如果按下A键,则在窗体上输出的数值为 【11】 和 【12】 。
正确答案:[11]65 [12]97
参考解析:[评析] 按下和松开一个ANSI键时发生KcyPress事件,其语法为: Private Sub object_KeyPress([index As Integer,]keyascii As Integet) KeyPreview属性,返回或设置一个值,以决定是否在控件的键盘事件之前激活窗体的键盘事件。键盘事件为:KeyDown、KeyUp和KeyPress。当KeyPreview的值为True时窗体先接收键盘事件,然后是活动控件接收事件;为False时(缺省值)活动控件接收键盘事件,而窗体不接收。 KeyPress将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。而KeyDown和KeyUp用两种参数解释每个字符的大写形式和小写形式:KeyCode——显示物理的键(将A和a作为同一个键返回)和Shift——指Shift+Key键的状态而且返回A或a其中之一。 本题中,由于Form的KeyPreview属性为True,窗体能够接受到键盘事件。当A键按下时,KeyDown事件产生,此时KeyCode=65。A键松开后,KeyPress事件产生,此时KeyAscii=97。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)