winform的Design环境是由控件的容器维护的。当控件嵌套在一个没有design环境的容器空间中时其实就是运行时状态。

View Code
/// <summary>

/// 标题:获取一个值,用以指示 System.ComponentModel.Component 当前是否处于设计模式。

/// 描述:DesignMode 在 Visual Studio 2005 产品中存在 Bug ,使用下面的方式可以解决这个问题。

///        详细信息地址:http://support.microsoft.com/?scid=kb;zh-cn;839202&x=10&y=15

/// </summary>

protected new bool DesignMode

{

    get

    {

        bool returnFlag = false;

#if DEBUG

        if (System.ComponentModel.LicenseManager.UsageMode == System.ComponentModel.LicenseUsageMode.Designtime)

        {

            returnFlag = true;

        }

        else if (System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToUpper().Equals("DEVENV"))

        {

            returnFlag = true;

        }

#endif

        return returnFlag;

    }

}

你可能感兴趣的:(WinForm)