知道什么时候在设计模式

Fer*_*ndo 5 .net c# winforms

在类库中,我想知道它是否在设计模式下被访问而不是正常的运行时.

我尝试使用System.ComponentModel.LicenseManager.UsageMode,但即使我在编辑表单时它似乎也有一个Runtime值.

更新: 为了澄清,我想知道我是否处于设计模式,而不是来自组件内,而是来自一个单独的类,恰好是由表单或控件中的其他项调用.我有一个Utility类,它是从一个控件间接调用的,我需要知道我是否处于设计模式.

thi*_*eek 3

我认为 Component.DesignMode 在这种情况下没有帮助。如果组件或控件未加载到表单设计器上怎么办?在这种情况下,您可以尝试的是,创建一个枚举,仅在正常启动时设置一个值,否则默认情况下保留为另一个值。您现在可以检查枚举实例的值并确定它是设计时还是运行时。

  • 我认为沿着这些思路的东西是最好的。尽管枚举不是必需的。一个可以从应用程序的其他部分访问的简单布尔值就足够了。IsRuntimeMode 可以在应用程序正常启动开始时设置为 true。 (2认同)