2016-08-17 29 views
0

我正在使用多個窗體創建VB.Net應用程序。在每個表單上都有一個返回到前一個表單的按鈕以及一個完全退出應用程序的按鈕。出於某種原因,無論我如何退出應用程序,退出時都會播放Media.SystemSounds.Hand(Windows「Error」聲音),這似乎意味着出現了某些錯誤。如何防止應用程序退出時發生「錯誤」聲音(來自使用ShowDialog調用的窗體)

我試圖離開以各種方式,如該應用程序:

  • 使用Application.Exit()
  • 向後循環通過每個打開的形式和關閉每個窗體。
  • 直接關閉主啓動窗體。
  • 抑制系統聲音。

請務必注意,這只是發生在當前的形式與ShowDialog()打開,當電流形式與Show(Me)稱它不會發生。讀取有關Show和ShowDialog之間差異的interweb,幾乎所有提供的信息都只是引用了模態和非模態形式之間的差異,但都不會(因爲任何原因我可以告訴)都會引起錯誤。我應該能夠調用模態表單並乾淨地退出應用程序而不會產生錯誤聲音。

我知道在英語中,在關閉應用程序之前,應該在主窗體上而不是對話框窗體上,但如果唯一的區別是模態和無模式的,那麼這對我來說沒有意義(並且ShowDialog應該被重命名爲IMO)。有任何想法嗎?

在一個句子:我想能夠完全退出應用程序(沒有「錯誤」的聲音)從調用ShowDialog

回答

1

形式關閉應用程序時,這很可能是由於聚焦造成的嘗試在ShowDialog表單仍處於活動狀態時關閉,並且聲音實際上是您嘗試進行焦點更改時發出的警告聲音。在關閉父表單之前嘗試關閉ShowDialog,從而關閉整個應用程序。這種方式重點自然返回到父窗體應用程序退出之前

+0

謝謝我會嘗試這一點,當我回來時,我一直在使用一個瘋狂的解決方法 – Rhurac

相關問題