使用Windows窗体设计器开发程序的UI会导致任何开销吗?

时间:2011-06-27 08:11:00

标签: c# .net performance user-interface

我在考虑使用Visual C#Windows窗体设计器来设计UI,让我专注于程序功能和逻辑。 (我之前用手制作UI)。那么使用Designer而不是编写UI手动导致任何额外的开销? (这也会使我的代码与MONO不兼容吗?)

OVERHEAD:任何额外的内存,额外的启动时间,效率和性能的降低。

3 个答案:

答案 0 :(得分:3)

使用设计器时唯一发生的事情是,将在.designer.cs文件中为您(InitializeComponent方法)生成表单上项目的初始化。这不应以任何方式影响性能,只有在构造表单时才会发生。

因此,除非您有一些特定需求或布局计算,否则我不会手动完成,但我会使用设计器。它快速,直观。您无需编译和运行应用程序即可查看表单布局。

我有一些手工创建布局逻辑的经验,但我需要动态创建的控件(设计时未知的控件数量)。除此之外我不明白为什么你不会使用Designer

至于MONO部分,我不认为它是不相容的。设计师只是简单地生成代码。我不知道MONO功能的完整列表,但由于代码生成siply使用布局逻辑和控件的一些其他属性 - 我不知道MONO如何不能做同样的事情。但我对Mono没有真正的经验,所以有人应该确认。

修改

还有一种情况是某些控件的初始化(特别是如果自定义控件)必须按特定顺序初始化。然后你不能依赖设计者对这些控件的初始化。但是,您仍然可以将Designer用于订单无关紧要的所有其他控件。

答案 1 :(得分:2)

我认为手工创建UI会导致更多的开销,因为:通过使用一个好的工具,比如Winforms设计师,可以将更多时间花在可以更有效地完成的事情上......

答案 2 :(得分:1)

据我所知,使用Windows窗体设计器只需生成您通常手动编码的确切代码。对此唯一非常恼人的问题是,当您想要添加任何其他代码或更改任何此类生成的代码时(因为它“锁定”代码,您只能在Visual Studio之外进行更改)。