估计很多人在做自定义控件开发的时候都需要用到这样的判断,处于设计模式中时控件不执行一些数据加载方法,或者与运行时外观有所不同。
以下是我现在正在用的一个类,至今没发现什么问题:
/// <summary>
/// SkinCat
/// </summary>
internal class SkinCat : System.ComponentModel.Component
{
/// <summary>
/// 是否处于设计器模式
/// </summary>
private bool isDesignMode = false;
/// <summary>
/// 唯一实例
/// </summary>
private static SkinCat instance = null;
/// <summary>
/// 创建一个新的SkinCat对象
/// </summary>
private SkinCat()
{
}
/// <summary>
/// 获取SkinCat唯一对象
/// </summary>
internal static SkinCat Instance
{
get
{
if (instance == null)
{
instance = new SkinCat();
instance.isDesignMode = instance.GetIsDesignMode();
}
return instance;