我在这里了解了DesignMode 如何在更改属性后在设计时刷新winform自定义控件
但是当我在我的自定义控件的构造函数中使用它时,它永远不会返回true,因此当我拖放我的自定义控件时,它总是显示max = 200,那么什么是错的?
if (this.DesignMode)
{                
    this.Min = 0;
    this.Max = 100;
} 
else 
{
    this.Min = 0;
    this.Max = 200;            
}
this.LabMin.Text = this.Min.ToString();
this.LabMax.Text = this.Max.ToString();  
Eri*_*ric 38
LicenseManager.UsageMode 是为了这个. 
事实上,这是检测控件是否处于设计模式的唯一可靠方法.它仅在构造函数期间有效,但它可以很容易地存储在类的字段中以供以后参考.
DesignMode即使容器控件处于设计模式,嵌套控件的属性也将为false.
可能是该控件还必须ISite与之关联,否则它将始终返回false
设计模式指示符存储在ISite中;因此,如果Component没有关联的ISite,则此属性的值为false。
资料来源:MSDN
编辑:也看到这篇文章,因为有人遇到与您面临的问题类似的问题
编辑2:我还发现了一个站点,似乎表明这是自定义控件的常见问题,但它也列出了一些解决方法。你可以在这里找到它: