2

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

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

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

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

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

提前致谢。

问候

4

1 回答 1

3

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

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

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

于 2012-09-19T09:00:57.837 回答