2016-10-01 55 views

回答

3

因为VS设计师执行的形式构造在设计时显示。
为了防止这种情况,您可以使用此代码来检查DesignMode属性:

if (!DesignMode) 
{ 
    //... run sql 
} 

多合并有LicenseManager

if (LicenseManager.UsageMode != LicenseUsageMode.Designtime) 
{ 
    //... run sql 
} 
+0

嗬!你确定?我一直认为设计师更聪明,实例化表单的基类(通常是Form),然后专门解析InitializeComponent()中的代码,以避免在设计器中运行实际的表单代码。这是VS在最近版本中发生了什么变化?请参阅我的这个问题的答案:http://stackoverflow.com/questions/872536 –

+0

没有为我工作。当我在设计视图中打开时,仍然运行sql代码 –

+0

@AntonyLopez又增加了一个案例 – Backs