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