首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何判断Visual Studio designer是否正在运行.NET代码

如何判断Visual Studio designer是否正在运行.NET代码
EN

Stack Overflow用户
提问于 2008-09-16 15:23:22
回答 18查看 44.4K关注 0票数 60

当我在Visual Studio的设计器中打开Windows窗体窗体时,我的代码中抛出了一些错误。如果窗体是由设计器打开的,我想在我的代码中进行分支并执行不同的初始化。

如何在运行时确定代码是否正在作为打开窗体的设计器的一部分执行?

EN

回答 18

Stack Overflow用户

发布于 2012-05-24 02:20:46

代码语言:javascript
复制
if (System.ComponentModel.LicenseManager.UsageMode == System.ComponentModel.LicenseUsageMode.Designtime)
{
  // Design time logic
}
票数 50
EN

Stack Overflow用户

发布于 2008-12-09 15:20:53

最可靠的方法是:

代码语言:javascript
复制
public bool isInDesignMode
{
    get
    {
        System.Diagnostics.Process process = System.Diagnostics.Process.GetCurrentProcess();
        bool res = process.ProcessName == "devenv";
        process.Dispose();
        return res;
    }
}
票数 16
EN

Stack Overflow用户

发布于 2011-10-18 10:17:17

最可靠的方法是忽略DesignMode属性,并使用在应用程序启动时设置的您自己的标志。

类:

代码语言:javascript
复制
public static class Foo
{
    public static bool IsApplicationRunning { get; set; }
}

Program.cs:

代码语言:javascript
复制
[STAThread]
static void Main()
{
     Foo.IsApplicationRunning = true;
     // ... code goes here ...
}

那么只要你需要,只要检查旗子就行了。

代码语言:javascript
复制
if(Foo.IsApplicationRunning)
{
    // Do runtime stuff
}
else
{
    // Do design time stuff
}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档