詳細查看了你的問題,完全不需要使用線程sleep的方法。
為倉山等地區(qū)用戶提供了全套網頁設計制作服務,及倉山網站建設行業(yè)解決方案。主營業(yè)務為成都網站制作、網站設計、倉山網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
在這邊,我要給你引入一個概念。就是Form窗體的兩個方法。
Form.Show()和Form.ShowDialog()
第一個Show方法運行后,你的主程序還是會進行,你的代碼還是會繼續(xù)進行下去。此時,窗體還是彈出的。
第二個ShowDialog方法運行后,此時,彈出的一個窗體,你不將其關閉,那么,主程序就會一直等待這個窗體關閉后,才執(zhí)行后面的代碼。
所以,你只需要使用showdialog這個方法,即可達到你想要的結果。
那么,如何才能讓彈出的窗體不改變呢?很簡單
你可以找到窗體的formcloseing事件,在這個事件中,有一個參數:e
這個e有一個屬性,就是e.handle,表示是否處理過這個事件了。
這個時候,如果你不想讓窗體關閉,你可以寫:
e.handle=true,那么表示已經處理過窗體關閉的事件了。
注:有些情況,可能是:e.cancel=true
定義一個公有布爾值變量 flag,初始值 False。
循環(huán)里最開始 If 判斷一下 flag,如果為 True 就 Exit Do 跳出循環(huán),否則繼續(xù)循環(huán)。
然后在別的函數控制 flag 的值就可以了。
P.S. 你這段代碼是死循環(huán),直到程序占用內存越來越大溢出進而程序崩潰為止……
好像不難吧?
我放進了Button1的Click事件里。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo Errmessages '在做系統操作時加排錯標簽是個好習慣
Dim TargetName As String = "ibmdict" '存儲進程名為文本型,注:進程名不加擴展名
Dim TargetKill() As Process = Process.GetProcessesByName(TargetName) '從進程名獲取進程
Dim TargetPath As String '存儲進程路徑為文本型
If TargetKill.Length 1 Then '判斷進程名的數量,如果同名進程數量在2個以上,用For循環(huán)關閉進程。
For i = 0 To TargetKill.Length - 1
TargetPath = TargetKill(i).MainModule.FileName
TargetKill(i).Kill()
Next
ElseIf TargetKill.Length = 0 Then '判斷進程名的數量,沒有發(fā)現進程直接彈窗。不需要的,可直接刪掉該If子句
MsgBox("沒有發(fā)現進程!")
Exit Sub
ElseIf TargetKill.Length = 1 Then '判斷進程名的數量,如果只有一個,就不用For循環(huán)
TargetKill(0).Kill()
End If
MsgBox("已終止" TargetKill.Length "個進程") '彈窗提示已終止多少個進程
Errmessages: ‘定義排錯標簽
If Err.Description Nothing Then ’判斷有無錯誤,如果有,則 ↓
MsgBox(Err.Description) '當出現錯誤時,彈窗提示
End If
End Sub
可根據需要自行修改,這個備注夠完善了吧?不會的再Hi我。
Dim key_state As Integer = 0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True '設置窗體響應鍵盤操作
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
'MsgBox(e.KeyCode) '這行開啟可以測試你輸入的按鍵代碼
If key_state = 0 Then e.Handled = True '取消操作
Select Case e.KeyCode
Case 49 '按鍵1
'................操作腳本
Case 50 '按鍵2
'................操作腳本
End Select
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
e.Handled = True '取消操作
End Sub
'*******************************************************************************另一種方法
AddHandler Me.KeyDown, AddressOf Form1_KeyDown '需要時加入事件
RemoveHandler Me.KeyDown, AddressOf Form1_KeyDown '不需要時刪除事件
網站名稱:vb.net停止事件的簡單介紹
轉載來源:http://muchs.cn/article20/doecojo.html
成都網站建設公司_創(chuàng)新互聯,為您提供動態(tài)網站、做網站、App設計、網站排名、網頁設計公司、營銷型網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯