【问题标题】:Controls, properties, events and timers running in design time在设计时运行的控件、属性、事件和计时器
【发布时间】:2012-09-19 08:30:55
【问题描述】:

我在 vb.net 中使用了一些自定义控件,其中我有一个布尔属性,每当它发生变化时,如果它的值为 false,它就会启动一个计时器,如果它是 true,它就会停止。

如果计时器运行了几秒钟,它会引发一个消息框,警告正在发生的问题。

问题是这个消息框即使在设计时也会显示。正如我所追踪的,当控件在设计时加载到 winform 中时,该属性的默认值为 false,它似乎启动了计时器,当它结束时会引发消息框,每当我打开项目或重建它时都会发生这种情况。

我不明白为什么会出现这种行为,因为这应该只在运行时发生,但这让我发疯,我尝试在 setter 中的属性更改时直接启动计时器并创建“onpropertychanged”事件,但这仍然发生在设计时。

任何人都知道如何摆脱这种情况或如何解决它以避免这种情况发生,这真的很令人不安,当程序甚至没有运行时就会发生这种情况。

提前致谢。

问候

【问题讨论】:

    标签: vb.net events properties custom-controls design-time


    【解决方案1】:

    常用的方法是使用控件的DesignMode属性。

    如果组件处于设计模式,则为 true;否则为假。

    因此,在您的财产中,在启动计时器之前,首先检查 DesignMode 是否为 False

    【讨论】:

    • 它就像一个魅力!谢谢我正要砸电脑,但你救了我^^
    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2019-04-04
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 2012-02-14
    相关资源
    最近更新 更多