0

我已经查看了该DesignOnly属性,但这似乎并没有实现我想要的*。

基本上,我正在寻找某种方式来指示用户控件的某些属性(Text比如说修改 Windows 窗体 GUI)——但不是在运行时。应用程序运行后,该属性应有效地为readonly.

这可能吗?

*当我将DesignOnly属性添加到属性时,我从设计模式中为该属性选择的值似乎没有固定;该属性最终只是我在代码中默认设置的任何内容。

4

3 回答 3

1

您可以在您的应用程序中放置一个公共静态变量,您可以在 main() 方法中将其设置为 true。然后,您可以测试是否设置了变量。如果是,那么程序已经正常启动了,否则我们显然是在designer中运行的。

于 2010-03-16T16:20:16.077 回答
0

值得注意的是,设计时支持运行时支持。IDE 正在后台旋转您的对象。设计器支持只是一堆 IDE 元数据,它允许 Visual Studio(或其他设计器)构建对象的图形表示。

运行时间和设计时间之间没有“真正的”区别。如果您想了解我在说什么,请尝试NotImplementedException在您的一个属性中添加一个并尝试在设计器中设置它。

于 2010-03-16T16:15:26.493 回答
0

你不能这样做 - VS 表单设计器生成的代码在运行时就像任何其他代码一样运行;所以你无法区分 VS 表单代码和用户代码。看一下InitializeComponent方法 - 这就像创建表单时的任何其他代码一样运行。

于 2010-03-16T16:15:42.927 回答