鼠標事件是由鼠標鍵的單擊、雙擊、移動等操作時發生,鍵盤事件則是在鍵盤的某個鍵按下去時觸發。除了鼠標事件外,通常需要對鍵盤事件進行編程。鍵盤事件主要有以下幾種:
(1)KeyDown:當鍵盤上某鍵被按下去時發生。
(2)KeyUp:鍵盤上的鍵擡起來時發生。
(3)KeyPree:此事件發生在鍵盤被按下後和字符被顯示出來之前發生。
對於鍵盤事件,相對來說KeyDown事件和KeyUp事件使用比較少,通常情況下對KeyPress事件編程較多,因為此事件註重鍵盤被按下的是哪個鍵
KeyPress事件定義如下:
Private Sub Textl_KeyPress(KeyAscii As Integer)
End Sub
其中,參數KeyAscii被定義為整型變量,表示被按下去鍵的Ascii碼,我們可以通過對變量KeyAscii值的判斷來執行壹些特殊操作。例如要想實現在文本框中只能輸人數字,不接受其它字符,可以編寫如下代碼:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = O
End If
End Sub
此段代碼表示:如果被按下去的鍵的Ascii碼值不在48到57之間(即輸入不是數字),則將KeyAssii值設置為零。從而不進行操作,文本框中並不存在輸入的字符。
(4) Change:Change事件在控件的內容發生改變時執行。如:當我們要做壹個類似記事本程序的時候,用文本框控件作為內容編輯區,當文本框內容改變而 並未保存時,用戶卻在此時退出程序,我們希望程序能夠給出提示。可以通過定義壹個整型變量“IsChang,當其值為0時表示未存盤,其值為1時表示存 盤了,在文本框控件的change事件中輸入如下代碼:
“IsChange=0。在程序退出事件中對IsChange值進行判斷,當值為0時就給予提示,否則退出程序。程序代碼如下:
Private Sub Textl_Change()
IsChange=0
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If lsChange = 0 Then
MsgBox (還未存盤,是否存盤), VbOkCancle, 提示!
End If
End Sub
此段代碼用於程序退出時的判斷,Form_QueryUnload事件表示程序退出時所執行的事件。
這裏主要介紹了事件處理器,常見的屬性與各種事件,在Windows應用程序中,我們經常要用到上面所介紹的屬性與事件。