我有一個表格,我在我的代碼中多次使用End
關閉。我想做一個命令來保存設置,當我這樣做時,這叫做VarsToIni()
,它接受一些公共變量並將它們保存在一個INI文件中。我已經嘗試將它放在主窗口的FormClosing(它始終保持打開狀態),並且只有當您按下X按鈕而不是從我的End
語句關閉時才起作用。檢測關閉表單的所有方法的最佳方法是什麼?
回答
添加一個新的子並更換電話到End
致電您的新子:
Sub EndMe()
VarsToIni()
Application.Exit()
End Sub
編輯:
正如丹指出,End()
是一個糟糕的方式關閉應用程序,Application.Exit()
是首選。
我正在使用這種方法。 – RX14 2013-02-20 10:45:59
然後你仍然在用'Shutdown mode:When startup form closing'調用'End' ... IMO'End'
@DanVerdolino我同意並修改。 – bendataclear 2013-02-21 17:15:55
我感到相當你的問題,仍然困惑:
這將關閉所有形式
For each x as Form in My.Application.OpenForms
'You can then put your VarsToIni() here
x.Close()
Next
注:添加到您的進口
Imports System.Windows.Forms
考慮使用Application.Exit()
而不是End
。這允許調用FormClosing
而不管它是什麼(你可以根據它如何關閉來處理它)。
Private Sub frmMain_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Select Case e.CloseReason
Case CloseReason.ApplicationExitCall
' This is the result of Application.Exit()
e.Cancel = False
Case CloseReason.UserClosing
' This is the result of clicking the red X
Select Case MessageBox.Show("Are you sure you wish to exit?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Case DialogResult.Yes
e.Cancel = False
Case DialogResult.No
e.Cancel = True
End Select
Case Else
e.Cancel = False
End Select
If Not e.Cancel Then
VarsToIni()
End If
End Sub
- 1. 檢查FileInputStream是否關閉的最佳方法是什麼?
- 2. 單元測試異步方法的最佳方法是什麼?
- 3. MySQL結果檢查關閉...什麼是最佳方法?
- 4. 檢測IDataReader是否爲空的最佳方法是什麼?
- 5. 關閉這組進程的最佳方法是什麼?
- 6. 在UITextView中關閉鍵盤的最佳方法是什麼?
- 7. 有關const實例方法的最佳做法是什麼?
- 8. 檢查表單中所需字段的最佳方法是什麼?
- 9. 以編程方式檢測RubyGems.org是否關閉的最佳方法?
- 10. 檢測網站國家代碼的最佳方法是什麼?
- 11. 檢測Oracle連接泄漏的最佳方法是什麼?
- 12. 在JavaScript中檢測xml的最佳方法是什麼
- 13. 使用PHP檢測標籤的最佳方法是什麼?
- 14. 檢測精靈之間碰撞的最佳方法是什麼?
- 15. 檢測SMO的最佳方法是什麼?
- 16. 用php檢測瀏覽器的最佳方法是什麼?
- 17. 什麼是檢測白色的最佳方法?
- 18. 單元測試使用ServerSocket類的方法的最佳方法是什麼?
- 19. 檢查r中對應關係的最佳方法是什麼
- 20. 檢查所有字段是否有效的最佳方法是什麼?
- 21. 測試方法內部方法的最佳方法是什麼? (JUnit)
- 22. 什麼是單元測試構造函數的最佳方法?
- 23. 清除C#表單上所有控件的最佳方法是什麼?
- 24. 在.NET中單元測試私有方法的最佳做法是什麼?
- 25. 迭代所有數據的最佳方法是什麼?
- 26. 關閉Access Jet的最佳方法OledbConnection
- 27. ANTLR4的最佳方法是什麼?
- 28. 評論的最佳方法是什麼?
- 29. 在單元測試中檢查矩陣值的最佳方法是什麼?
- 30. 什麼是測試網關的最簡單方法?
檢測關閉窗體的所有方法的最佳方法是不調用End。只需關閉主窗體。另外,INI文件是傳統技術,如有可能,請嘗試使用「我的項目」選項卡中的設置。 – LarsTech 2013-02-19 17:34:25
顯而易見的答案是不要用'End'關閉表單。這就是'Form.Close'方法的用途。 – JosephHirn 2013-02-19 17:45:15
@LarsTech我不喜歡My.Settings的東西,所以決定切換回INI。它使其他應用程序(如安裝程序)更易於閱讀。 – RX14 2013-02-19 17:48:53