如何以编程方式创建VS 2008 Windows窗体项目,可以像手动创建的任何其他项目一样进行维护

时间:2015-03-26 02:16:33

标签: c# windows forms

我有一堆控件属性(控件类型,位置,大小等)派生为来自不同平台上旧系统的文本文件。我认为将这些“控件描述”加载到VS 2008中的Windows窗体项目中相当容易,然后能够在VS中维护新项目,就好像它是手动创建的一样。

我熟悉使用VS和C#,但我不知道从哪里开始。

我搜索了网页并发现了一些关于在运行时在表单上创建控件的文章,这并不是很难,考虑到我的信息,但我希望创建的表单是Win Forms项目的永久部分,所以我需要将在运行时创建的内容导入VS,并在项目中访问,就像在设计器表面上手动删除一样。有没有办法用程序创建这些表单然后以VS可接受的形式“保存”它们?

我手动创建了一个Windows窗体项目,尝试用作“模板”并确定VS是如何做到的。我试图了解各种资源文件之间的内容和关系,但它有点太多了。还有警告说各种文件都是由VS创建的,不应手动修改。

我有来自旧系统的近1000个表单,因此手动将每个表单添加到VS的想法是非常不可行的。如果有办法将表单的XML描述提供给VS Forms项目,我可以将文本描述翻译成XML吗?

任何建议\对此的指示将不胜感激。

1 个答案:

答案 0 :(得分:0)

VS使用代码生成在Windows窗体中创建控件。如果您查看表单,例如项目中的Form1,它由三个文件Form1.csForm1.designer.csForm1.resx组成。 Form1.designer.cs文件包含InitializeComponent方法中控件的构造。 VS执行此操作并在设计时解析它,以便为您提供可以进行修改的表单的设计视图。您可以编写一个程序来解析文本文件并为InitializeComponent生成C#代码以获得正确的效果。有各种选项,但您可能希望使用CSharpCodeProvider类。

另一种选择是使用WPF。表单是使用XAML在WPF中设计的,XAML是一种基于XML的格式。 (我的意思是,XAML文档也是一个有效的XML文档,但事实并非如此。)如果您创建一个WPF项目并向其添加一些控件,那么您可以查看XAML文件以获得一个想法结构。