我正在考虑使用Visual C# Windows Forms designer来设计UI,让我专注于程序功能和逻辑。(我以前是手工制作UI的)。那么,使用设计器而不是手动编写UI会带来额外的开销吗?(这也会使我的代码与MONO不兼容吗?)
开销:任何额外的内存,额外的启动时间,效率和性能的下降。
发布于 2011-06-27 16:16:12
当您使用设计器时,唯一发生的事情是表单上的项的初始化将在.designer.cs文件中生成(InitializeComponent方法)。这应该不会以任何方式影响性能,而且只有在构造表单时才会发生。
所以,除非你有一些设计器的特定需求或布局计算,我不会手工做,但我会使用的设计器。它是快速的,可视化的。而且您可以看到表单布局,而无需编译和运行应用程序。
我有一些手工创建布局逻辑的经验,但我需要动态创建的控件(设计时未知的控件数量)。除了那个,我不明白为什么您不使用Designer。
至于单声道部分,我不认为它是不兼容的。设计者只是生成代码,没有其他东西。我不知道MONO功能的完整列表,但由于代码生成siply使用布局逻辑和控件的其他一些属性-我不知道MONO怎么会做不到同样的事情。但是我没有使用Mono的实际经验,所以应该有人来确认一下。
编辑:
还有一种情况是,某些控件(特别是自定义控件)的初始化必须按特定顺序进行初始化。那么你就不能依赖于设计器对这些控件的初始化。但是,您仍然可以将设计器用于顺序无关紧要的所有其他控件。
发布于 2011-06-27 16:12:54
我认为手动创建UI会带来更多的开销,比如:将更多的时间花在一些可以通过使用好的工具更有效地完成的事情上,比如Winforms设计器……
发布于 2011-06-27 16:14:35
据我所知,使用Windows窗体设计器只需生成通常需要手动编写的代码。唯一非常恼人的问题是,当您想要添加任何额外的代码或更改任何这些生成的代码时(因为它会“锁定”代码,然后您只能在Visual Studio之外更改它)。
https://stackoverflow.com/questions/6490153
复制相似问题