【发布时间】:2015-03-26 02:16:33
【问题描述】:
我有一堆控件属性(控件类型、位置、大小等)作为文本文件派生自不同平台上的旧系统。我认为将这些“控件描述”加载到 VS 2008 中的 Windows 窗体项目中会相当容易,然后能够在 VS 中维护新项目,就像它是手动创建的一样。
我熟悉使用 VS 和 C#,但我不知道从哪里开始。
我在网上搜索并找到了一些关于在运行时在表单上创建控件的文章,这并不难,考虑到我拥有的信息,但我希望创建的表单成为 Win Forms 项目的永久部分,所以我需要将运行时创建的内容放入 VS 中,并且可以在项目中访问,就好像它已手动放置在设计器表面上一样。有没有办法可以用程序创建这些表单,然后以 VS 可接受的形式“保存”它们?
我手动创建了一个 Windows 窗体项目来尝试用作“模板”并确定 VS 是如何做到的。我试着去了解各种资源文件的内容和关系,但是有点过头了。还有警告说各种文件都是VS创建的,不能手动修改。
我有近 1000 个来自旧系统的表单,因此手动将每个表单添加到 VS 的想法是非常不可行的。如果有办法将表单的 XML 描述输入到 VS Forms 项目中,我可以将文本描述翻译成 XML...?
对此的任何建议\方向将不胜感激。
【问题讨论】:
-
看看 T4 文本模板,VS2008 支持它们。您将编写一个 T4 程序(在 C# 中)读取您的 XML 表单描述并将它们转换为 WinForms 文件 - 本质上是您自己的
InitializeComponent版本。如果您保持与“真实”foo.designer.cs文件相同的源代码模式,那么您也可以使用 WinForms 设计器。 -
非常感谢您的回复。当我看到 foo.designer.cs 中的免责声明时,我有点害怕,但我已经做了一些实验,我认为这是“可行的”。前段时间我确实看过 T4 模板,但我现在没有时间绕过学习曲线。我想我将从现有的 Windows 窗体中制作一个模板,然后对其进行修改。再次感谢。