如何生成Windows窗体(来自以编程方式创建的项目)?

时间:2015-07-14 13:01:57

标签: .net vb.net winforms visual-studio-2010

首先要提一下我不是在问如何创建Windows表单。我有一个独特的情况,一个人决定以编程方式创建一个完整的Windows窗体应用程序。我要问的是......

有没有办法向后工作并生成一个设计器文件,或者我们可以直观地完成的工作呢?

我们所拥有的是以编程方式创建的“Designer”文件......

有办法做到这一点吗?

史蒂夫

2 个答案:

答案 0 :(得分:2)

可能没有快速的方法来做到这一点。

有两个正常的原因,有人会选择完全在代码中构建表单,而不是通过设计师。

一种情况是,表格上显示的控件将在运行时确定,而不是在设计时预先确定。这可能是因为他们通过加载/卸载特定视图所需的控件来为多个不同的屏幕/视图使用相同的表单,或者可能是表单是数据驱动的,其中有关所需控件的信息是存储在数据库中。

完全在代码中构建表单的另一个原因是当您使用不能与表单设计器一起使用的自定义控件时。

这些原因中的任何一个都要求您(至少)手动重建设计器中的表单,并且可能要求您从头开始重新创建控件,甚至根本无法使用设计器。

答案 1 :(得分:1)

首先,以编程方式创建所有表单。"这意味着所有设计师都会为您生成代码,但它仍然是C#/ VB,就像您自己编写代码一样。 There's no magic here

VS Designer使用partial类将生成的UI代码与代码分开。 Designer有点奇怪,因为它有自己的UI代码自定义解析器(which causes odd quirks),但它只是解析代码。根据我的经验,它非常灵活,并且不依赖于它自身生成的严格结构和格式(尽管它会重新格式化代码以适应它自己的约定)。所以如果你能把所有的" UI构建"继承自InitializeComponent()的类的System.WIndows.Forms.Form方法中的代码,你应该很好。

您可能希望将此文件作为单独的文件(使用部分类)并从构造函数中调用InitializeComponent()方法。