1
在這個Winform應用程序中,我有一些加載SQL方法的表單。他們在運行時按預期執行代碼,每次加載時都會執行該代碼。WinForms - 爲什麼每次在Visual Studio中打開C#窗體都會運行SQL?
但是,爲什麼他們每次在Visual Studio中打開它們時都會執行加載方法?
我使用Visual Studio 2015年CE
在這個Winform應用程序中,我有一些加載SQL方法的表單。他們在運行時按預期執行代碼,每次加載時都會執行該代碼。WinForms - 爲什麼每次在Visual Studio中打開C#窗體都會運行SQL?
但是,爲什麼他們每次在Visual Studio中打開它們時都會執行加載方法?
我使用Visual Studio 2015年CE
因爲VS設計師執行的形式構造在設計時顯示。
爲了防止這種情況,您可以使用此代碼來檢查DesignMode屬性:
if (!DesignMode)
{
//... run sql
}
多合併有LicenseManager:
if (LicenseManager.UsageMode != LicenseUsageMode.Designtime)
{
//... run sql
}
嗬!你確定?我一直認爲設計師更聰明,實例化表單的基類(通常是Form),然後專門解析InitializeComponent()中的代碼,以避免在設計器中運行實際的表單代碼。這是VS在最近版本中發生了什麼變化?請參閱我的這個問題的答案:http://stackoverflow.com/questions/872536 –
沒有爲我工作。當我在設計視圖中打開時,仍然運行sql代碼 –
@AntonyLopez又增加了一個案例 – Backs