[填空題] 把窗體的KeyPreview屬性設(shè)置為True,并編寫如下兩個事件過程:Private Sub Form_ KeyDown(KeyCode As I
[填空題] 把窗體的KeyPreview屬性設(shè)置為True,并編寫如下兩個事件過程:Private Sub Form_ KeyDown(KeyCode As Integer,Shift As Integer) Print KeyCode;End SubPrivate Sub Form_ KeyPress(KeyAscii As Integer) Print KeyAsciiEnd Sub 程序運行后,如果按下A鍵,則在窗體上輸出的數(shù)值為 【11】 和 【12】 。
正確答案:[11]65 [12]97
參考解析:[評析] 按下和松開一個ANSI鍵時發(fā)生KeyPress事件,其語法為: Private Sub object_ KeyPress([index As Integer,] keyascii As Integer)KeyPreview屬性,返回或設(shè)置一個值,以決定是否在控件的鍵盤事件之前激活窗體的鍵盤事件。鍵盤事件為:KeyDown、KeyUp和KeyPress。當KeyPreview的值為True時窗體先接收鍵盤事件,然后是活動控件接收事件;為False時(缺省值)活動控件接收鍵盤事件,而窗體不接收。KeyPress將每個字符的大、小寫形式作為不同的鍵代碼解釋,即作為兩種不同的字符。而KeyDown和KevUp用兩種參數(shù)解釋每個字符的大寫形式和小寫形式:KeyCode——顯示物理的鍵(將A和a作為同一個鍵返回)和Shift——指Shift +Key鍵的狀態(tài)而且返回A或a其中之一。本題中,由于Form的KeyPreview屬性為True,窗體能夠接受到鍵盤事件。當A鍵按下時,KeyD0wn事件產(chǎn)生,此時KeyCode=65。A鍵松開后,KeyPress事件產(chǎn)生,此時KeyAscii=97。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。