今天在看speech sdk 5.1,想利用它提供的SR引擎,开发合适可用的组件。
在看sample时,遇到一个陌生的Component.DesignMode 属性。于是老习惯看一下MSDN,但是上面没有详细的介绍。于是在网上查了查,了解到。它可以得知当前是设计时还是运行时。你开发的组件肯定是要给人用的吧,但你就得保证人家用的时候不出错。因为组件在设计时和运行时,其实是两码事。运行时,当加载控件时,你可能要初使化一些内置对象,调用一些只有运行时才使用的内部函数。这样,在运行时,完全正确,没有一点错误。但在设计时,可能就会得到"对象为空或未初始化"的错误。
有的时候,你只要加这么一句,或是类似的就可以避免if(this.DesignMode) return;还有,winform的Design环境是由控件的容器维护的。当控件嵌套在一个没有design环境的容器空间中时其实就是运行时状态。这样在做控件嵌套使用时可要注意。
呵呵,多积累点知识。