除非注明,文章均為 戰(zhàn)戰(zhàn)如瘋 原創(chuàng),轉(zhuǎn)載請保留鏈接: http://www.zhanzhanrufeng.com/cat1/265.html,VBA交流群273624828。
今天來介紹幾個窗體常用的事件,包括窗體的初始化、單擊、關(guān)閉前、關(guān)閉后、鼠標點擊等。
先來看窗體的初始化,初始化就是窗體剛打開時自動執(zhí)行的程序,用的是Initialize,看例子:
Private Sub UserForm_Initialize()
MsgBox "執(zhí)行初始化程序"
End Sub
這樣的話每當你加載窗體就會先執(zhí)行MsgBox語句,需要時換成你自己的語句就可以了。
再來看窗體的單擊事件,Click,看代碼:
Private Sub UserForm_Click()
MsgBox "你單擊了窗體"
End Sub
當你在窗體上單擊時會執(zhí)行MsgBox語句,也是按需要換成你自己的。
再來看窗體的鼠標事件,即當你點擊鼠標左右鍵或中間鍵時引發(fā)的動作,看代碼:
Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
MsgBox "你點擊了鼠標左鍵"
ElseIf Button = 2 Then
MsgBox "你點擊了鼠標右鍵"
Else
MsgBox "你點擊了中間鍵"
End If
End Sub
參數(shù)Button代表的是鼠標鍵,1代表左鍵,2代表右鍵,4代表中間鍵,Shift代表ctrl/shift/alt鍵,Shift返回1,ctrl返回2,shift+ctrl返回3,Atl按回4,這樣就可以根據(jù)返回值判斷你點了鼠標的哪些鍵或哪些組合鍵,從而運行不同的語句。
再來看關(guān)閉事件,即關(guān)閉之前運行的語句,看下面的代碼
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Cancel = 1
MsgBox "請用Close按鈕關(guān)閉"
End If
End Sub
QueryClose事件有兩個參數(shù),當參數(shù)Cancel>0時不允許用右上角的叉號關(guān)閉窗體,CloseMode是判斷你關(guān)閉窗體的方式,0代碼你是用右上角叉號關(guān)閉的。上面的代碼判斷你用叉號關(guān)閉時就將Cancel=1,這樣就禁止了窗體關(guān)閉。
還可以設(shè)置窗體關(guān)閉之后發(fā)生的動作,
Private Sub UserForm_Terminate()
MsgBox "你已經(jīng)關(guān)閉了窗體"
End Sub
上面的代碼在窗體關(guān)閉之后提示你已經(jīng)關(guān)閉了窗體。
示例文件下載地址:http://pan.baidu.com/s/1bnjHN7x。
聯(lián)系客服