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