C# Windows窗体设计器编译符号:是否存在?

C# Windows窗体设计器编译符号:是否存在?,c#,.net,winforms,.net-4.0,C#,.net,Winforms,.net 4.0,Windows Forms for full Windows OS是否有一些编译符号,以便设计师在编译代码时可以使用预处理器指令进行有条件编译 Compact Framework项目有这样的标志,但我在完整的Windows窗体项目中找不到这样的标志 示例代码: #if DESIGNTIME #endif 打开项目属性时,可以在“构建”选项卡顶部设置任意条件编译符号。内置是“调试”和“跟踪”,但您可以自己定义。我相信这个问题不会有完整的答案,因为Windows窗体中似乎不存在这样的编译符号

Windows Forms for full Windows OS是否有一些编译符号,以便设计师在编译代码时可以使用预处理器指令进行有条件编译

Compact Framework项目有这样的标志,但我在完整的Windows窗体项目中找不到这样的标志

示例代码:

#if DESIGNTIME

#endif 

打开项目属性时,可以在“构建”选项卡顶部设置任意条件编译符号。内置是“调试”和“跟踪”,但您可以自己定义。

我相信这个问题不会有完整的答案,因为Windows窗体中似乎不存在这样的编译符号


最后,答案是否定的,Windows窗体中没有设计器编译符号

设计器不编译代码。因此,不能。请在代码中使用this.DesignMode。但请检查CF Windows窗体是否具有NETCFDESIGNTIME编译符号。设计器不编译代码,但设计器需要最新的编译代码。它只是在项目属性中设置的。项目+属性、生成选项卡、条件编译符号设置@汉斯·帕桑,谢谢你提供的信息,但我真的知道。这不是关于添加自定义符号。符号必须由编译器的调用方—Visual Studio designer—以某种方式定义。这意味着“designer将编译代码”是什么意思?设计器不编译代码,而是生成代码。也许您正在谈论容器的设计/运行时模式?但这只适用于控件。问题不清楚。谢谢你的回答,但我相信你没有理解我回答的要点。事实上,我知道我可以定义任意的自定义编译符号,但您真的认为定义自定义符号可以使它们用于检测Visual Studio designer启动的编译吗?;)啊,好的,我明白了。几年前我也有这个问题。设计器将崩溃,因为我的一个自定义控件没有一个有意义的空构造函数(因此得到一个空引用)。我想我是用Hans建议的自定义变量围绕它构建的。是的,我也知道这个属性。。但我想知道在Compact Framework中是否有类似Windows窗体的东西,让我们看看它是否存在。