|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2018-08-19, 02:22 PM | #1 |
管理版主
|
教學 - 技巧: 不讓訊息視窗卡住軟體運行 (For VB.Net)
當程式裡使用
MessageBox.Show("ABC") 或 MsgBox("ABC") 後程式步驟就會停在此行等待使用者的選擇 但有時不想等候,好讓程式再做一些小動作的話 要怎麼辦呢? 這裡就提供一個 不使用: 自己畫一個 Form來取代 對話框/訊息 視窗 之方法 雖然有點麻煩 但可以讓你的程式繞過一些限制達成一些特殊技巧 首先加入一個 PHP 語法:
主程式裡對應上面的 緩衝器Class 一個 Dim WithEvents MyProc As New 緩衝器Class '宣告一事件class <* 由"緩衝器Class"提供觸發事件 *> PHP 語法:
那要怎麼使用 請看... Dim C As String = APP_NAME & " 除錯Log" MyProc.my參數 = C MyProc.myMode = 1 MyProc.延時_Do(500) ' 延時執行,因為下方MsgBox還未出現 Dim BR As System.Windows.Forms.DialogResult = MessageBox.Show("ABC", C) 上方的藍字 是使用前宣告 先決定好 傳入參數(my參數) 及 使用模式(myMode) 讓MyProc 等待 500ms後再執行 500ms後 此時MessageBox.Show 已完成顯現 就可以針對它執行 "脫離MID" 動作 (因為 它與 主程式視窗是 MID關係) SetParent(Handle, 0) 裡面的 0 是桌面HWnd,也就是把 它的父層 改成桌面 使用到WinAPI PHP 語法:
以上方法算是另類 "多執行續" 技巧 至於什麼時候可派上用場 就靠程式寫作家的想像力了 "不讓訊息視窗卡住軟體運行" 也只是技巧的一個牛刀小試 此帖於 2018-08-19 03:27 PM 被 mini 編輯. |
送花文章: 2007,
|
主題工具 | |
顯示模式 | |
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
Visual Basic .NET(繁體中文) | a791004 | 一般電腦疑難討論區 | 9 | 2004-03-07 05:50 PM |
Win2000用IIS架設ASP.NET網站(用動態IP架) | 小布 | 網路軟硬體架設技術文件 | 0 | 2004-02-04 01:33 PM |
net指令大暴光 | psac | 作業系統操作技術文件 | 1 | 2003-12-27 09:44 AM |
為什麼會這樣啊?(net transport) | 巧克力牛奶 | 一般電腦疑難討論區 | 1 | 2003-05-24 03:51 PM |
請問..哪有WINDOWS.NETㄉ繁體語言包ㄋ? | kadi | 一般電腦疑難討論區 | 3 | 2002-12-19 03:31 PM |