顯示圖案和播放音頻之間加個延時代碼。

創(chuàng)新互聯(lián)公司主營羅源網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),羅源h5成都微信小程序搭建,羅源網(wǎng)站營銷推廣歡迎羅源等地區(qū)企業(yè)咨詢
延時代碼可以使用Windows?API函數(shù)Sleep
Private?Declare?Sub?Sleep?Lib?"kernel32"?(ByVal?dwMilliseconds?As?Long)
Private?Sub?Command1_Click()
'顯示圖案代碼
Sleep?1000?'延時1秒
'播放音頻代碼
End?Sub
keypress:操作窗格具有焦點并按下某個鍵時發(fā)生,不能由非字符鍵引發(fā)
keydown:按下鍵盤按鍵時發(fā)生
keyup:鍵盤按鍵彈起時發(fā)生
以上事件觸發(fā)的時間不同,順序 down press up
keychar:按鍵對應(yīng)的字符
keycode:獲取 KeyDown 或 KeyUp 事件的鍵盤代碼
char不能獲取 控制鍵如tab Insert delete 方向鍵等
這個執(zhí)行順序由.net內(nèi)部處理和維護(hù)
現(xiàn)在我測試了下,如果動態(tài)添加delegate的話,那么事件調(diào)用就會按照添加的先后順序來執(zhí)行
不過在過程里直接用"handles 某個事件"來指定的話,順序就不一定了,比如我測試你的代碼就是3,1,2的循序,和處理過程的名字應(yīng)該沒什么關(guān)系
不過事件的處理過程會按照在invocation list里的循序來執(zhí)行
給你一段代碼
Function GetHandlers(ByVal instance As Object, ByVal e As String) As String
Dim pi As PropertyInfo = GetType(Button).GetProperty("Events", BindingFlags.Instance Or BindingFlags.NonPublic)
Dim ehl As EventHandlerList = CType(pi.GetValue(instance, Nothing), EventHandlerList)
Dim fi As FieldInfo = GetType(Control).GetField("Event" e, BindingFlags.Static Or BindingFlags.NonPublic)
Dim d As [Delegate] = ehl(fi.GetValue(Nothing))
Dim handlerStr As String = Nothing
If (d Nothing) Then
For Each i As [Delegate] In d.GetInvocationList()
handlerStr = handlerStr i.Method.Name vbCrLf
Next
Else
handlerStr = "無"
End If
Return handlerStr
End Function
調(diào)用gethandlers函數(shù)可以得到某個控件的某個事件注冊的所有handler,這個順序就是真正的調(diào)用順序了
但我覺得還是應(yīng)該不要太過依賴這部分內(nèi)容,不管是用handles還是addhandler,現(xiàn)在是這樣,以后的版本說不定就變成其他了,因為ms并沒有對他們有過任何的明文說明
名稱
說明
Activated
當(dāng)使用代碼激活或用戶激活窗體時發(fā)生。
AutoSizeChanged
當(dāng)?AutoSize?屬性更改時發(fā)生。
AutoValidateChanged
當(dāng)?AutoValidate?屬性更改時發(fā)生。
BackColorChanged
當(dāng)?BackColor?屬性的值更改時發(fā)生。(從?Control?繼承。)
BackgroundImageChanged
當(dāng)?BackgroundImage?屬性的值更改時發(fā)生。(從?Control?繼承。)
BackgroundImageLayoutChanged
當(dāng)?BackgroundImageLayout?屬性更改時發(fā)生。(從?Control?繼承。)
BindingContextChanged
當(dāng)?BindingContext?屬性的值更改時發(fā)生。(從?Control?繼承。)
CausesValidationChanged
當(dāng)?CausesValidation?屬性的值更改時發(fā)生。(從?Control?繼承。)
ChangeUICues
焦點或鍵盤用戶界面 (UI) 提示更改時發(fā)生。(從?Control?繼承。)
Click
在單擊控件時發(fā)生。(從?Control?繼承。)
ClientSizeChanged
當(dāng)?ClientSize?屬性的值更改時發(fā)生。(從?Control?繼承。)
Closed
關(guān)閉窗體時發(fā)生。
Closing
關(guān)閉窗體時發(fā)生。
ContextMenuChanged
當(dāng)?ContextMenu?屬性的值更改時發(fā)生。(從?Control?繼承。)
ContextMenuStripChanged
當(dāng)?ContextMenuStrip?屬性的值更改時發(fā)生。(從?Control?繼承。)
ControlAdded
在將新控件添加到?Control.ControlCollection?時發(fā)生。(從?Control?繼承。)
ControlRemoved
在從?Control.ControlCollection?移除控件時發(fā)生。(從?Control?繼承。)
CursorChanged
當(dāng)?Cursor?屬性的值更改時發(fā)生。(從?Control?繼承。)
Deactivate
當(dāng)窗體失去焦點并不再是活動窗體時發(fā)生。
Disposed
當(dāng)通過調(diào)用?Dispose?方法釋放組件時發(fā)生。(從?Component?繼承。)
DockChanged
當(dāng)?Dock?屬性的值更改時發(fā)生。(從?Control?繼承。)
DoubleClick
在雙擊控件時發(fā)生。(從?Control?繼承。)
DragDrop
拖放操作完成時發(fā)生。(從?Control?繼承。)
DragEnter
在將對象拖入控件的邊界時發(fā)生。(從?Control?繼承。)
DragLeave
將對象拖出控件的邊界時發(fā)生。(從?Control?繼承。)
DragOver
在將對象拖到控件的邊界上發(fā)生。(從?Control?繼承。)
EnabledChanged
在?Enabled?屬性值更改后發(fā)生。(從?Control?繼承。)
Enter
進(jìn)入控件時發(fā)生。(從?Control?繼承。)
FontChanged
在?Font?屬性值更改時發(fā)生。(從?Control?繼承。)
ForeColorChanged
在?ForeColor?屬性值更改時發(fā)生。(從?Control?繼承。)
FormClosed
關(guān)閉窗體后發(fā)生。
FormClosing
關(guān)閉窗體前發(fā)生。
GiveFeedback
在執(zhí)行拖動操作期間發(fā)生。(從?Control?繼承。)
GotFocus
在控件接收焦點時發(fā)生。(從?Control?繼承。)
HandleCreated
在為控件創(chuàng)建句柄時發(fā)生。(從?Control?繼承。)
HandleDestroyed
在控件的句柄處于銷毀過程中時發(fā)生。(從?Control?繼承。)
HelpButtonClicked
單擊“幫助”按鈕時發(fā)生。
HelpRequested
用戶請求控件幫助時發(fā)生。(從?Control?繼承。)
ImeModeChanged
在?ImeMode?屬性更改后發(fā)生。(從?Control?繼承。)
InputLanguageChanged
更改窗體的輸入語言后發(fā)生。
InputLanguageChanging
當(dāng)用戶嘗試更改窗體的輸入語言時發(fā)生。
Invalidated
控件的顯示要求重新繪制時發(fā)生。(從?Control?繼承。)
KeyDown
在控件有焦點的情況下按下鍵時發(fā)生。(從?Control?繼承。)
KeyPress
在控件有焦點的情況下字符、空格或退格鍵時發(fā)生。(從?Control?繼承。)
KeyUp
在控件有焦點的情況下釋放鍵時發(fā)生。(從?Control?繼承。)
Layout
在控件應(yīng)重新定位其子控件時發(fā)生。(從?Control?繼承。)
Leave
在輸入焦點離開控件時發(fā)生。(從?Control?繼承。)
Load
在第一次顯示窗體前發(fā)生。
LocationChanged
在?Location?屬性值更改后發(fā)生。(從?Control?繼承。)
LostFocus
在控件失去焦點時發(fā)生。(從?Control?繼承。)
MarginChanged
當(dāng)?Margin?屬性更改時發(fā)生。
MaximizedBoundsChanged
在?MaximizedBounds?屬性的值更改后發(fā)生。
MaximumSizeChanged
在?MaximumSize?屬性的值更改后發(fā)生。
MdiChildActivate
在多文檔界面 (MDI) 應(yīng)用程序內(nèi)激活或關(guān)閉 MDI 子窗體時發(fā)生。
MenuComplete
當(dāng)窗體菜單失去焦點時發(fā)生。
MenuStart
當(dāng)窗體菜單接收焦點時發(fā)生。
MinimumSizeChanged
在?MinimumSize?屬性的值更改后發(fā)生。
MouseCaptureChanged
當(dāng)控件失去鼠標(biāo)捕獲時發(fā)生。(從?Control?繼承。)
MouseClick
用鼠標(biāo)單擊控件時發(fā)生。(從?Control?繼承。)
MouseDoubleClick
用鼠標(biāo)雙擊控件時發(fā)生。(從?Control?繼承。)
MouseDown
當(dāng)鼠標(biāo)指針位于控件上并按下鼠標(biāo)鍵時發(fā)生。(從?Control?繼承。)
MouseEnter
在鼠標(biāo)指針進(jìn)入控件時發(fā)生。(從?Control?繼承。)
MouseHover
在鼠標(biāo)指針停放在控件上時發(fā)生。(從?Control?繼承。)
MouseLeave
在鼠標(biāo)指針離開控件時發(fā)生。(從?Control?繼承。)
MouseMove
在鼠標(biāo)指針移到控件上時發(fā)生。(從?Control?繼承。)
MouseUp
在鼠標(biāo)指針在控件上并釋放鼠標(biāo)鍵時發(fā)生。(從?Control?繼承。)
MouseWheel
在控件有焦點且鼠標(biāo)輪移動時發(fā)生。(從?Control?繼承。)
Move
在移動控件時發(fā)生。(從?Control?繼承。)
PaddingChanged
在控件空白區(qū)更改時發(fā)生。(從?Control?繼承。)
Paint
在重繪控件時發(fā)生。(從?Control?繼承。)
ParentChanged
在?Parent?屬性值更改時發(fā)生。(從?Control?繼承。)
PreviewKeyDown
在焦點位于此控件上的情況下,當(dāng)有按鍵動作時發(fā)生(在?KeyDown?事件之前發(fā)生)。(從Control?繼承。)
QueryAccessibilityHelp
在?AccessibleObject?為輔助功能應(yīng)用程序提供幫助時發(fā)生。(從?Control?繼承。)
QueryContinueDrag
在拖放操作期間發(fā)生,并且允許拖動源確定是否應(yīng)取消拖放操作。(從?Control?繼承。)
RegionChanged
當(dāng)?Region?屬性的值更改時發(fā)生。(從?Control?繼承。)
Resize
在調(diào)整控件大小時發(fā)生。(從?Control?繼承。)
ResizeBegin
窗體進(jìn)入大小調(diào)整模式時發(fā)生。
ResizeEnd
窗體退出大小調(diào)整模式時發(fā)生。
RightToLeftChanged
在?RightToLeft?屬性值更改時發(fā)生。(從?Control?繼承。)
RightToLeftLayoutChanged
更改?RightToLeftLayout?屬性值之后發(fā)生。
Scroll
用戶或代碼滾動工作區(qū)時發(fā)生。(從?ScrollableControl?繼承。)
Shown
只要窗體是首次顯示就發(fā)生。
SizeChanged
在?Size?屬性值更改時發(fā)生。(從?Control?繼承。)
StyleChanged
在控件樣式更改時發(fā)生。(從?Control?繼承。)
SystemColorsChanged
系統(tǒng)顏色更改時發(fā)生。(從?Control?繼承。)
TabIndexChanged
此 API 支持 產(chǎn)品 基礎(chǔ)結(jié)構(gòu),不能在代碼中直接使用。?當(dāng)?TabIndex?屬性的值更改時發(fā)生。
TabStopChanged
當(dāng)?TabStop?屬性更改時發(fā)生。
TextChanged
在?Text?屬性值更改時發(fā)生。(從?Control?繼承。)
Validated
在控件完成驗證時發(fā)生。(從?Control?繼承。)
Validating
在控件驗證時發(fā)生。(從?Control?繼承。)
VisibleChanged
在?Visible?屬性值更改時發(fā)生。(從?Control?繼承。)
用下面類似的代碼可以看到先后順序
Private Sub Command1_Click()
Debug.Print "Command1_Click"
End Sub
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print "Command1_MouseDown"
End Sub
Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print "Command1_MouseUp"
End Sub
-------------------------
下面的程序運行時SW的值初始是False,所以不會print。你先點擊一下窗體,再點command1就會輸出了
當(dāng)前文章:包含vbnet事件順序的詞條
轉(zhuǎn)載注明:http://chinadenli.net/article29/dsiecch.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、企業(yè)網(wǎng)站制作、電子商務(wù)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)