我想在运行时创建一个.NET表单,添加按钮和其他控件(也在运行时),然后能够从该表单生成something.designer.cs文件(然后可以将其添加到一个C#解决方案并编译完毕。
我想要做的与WinForm设计师的做法非常相似。但是我没有为用户提供拖放界面,而是希望在运行时自动动态构建表单/控件。
我在想我可以重用WinForm设计师正在做的事情。
这可能吗?
答案 0 :(得分:7)
此MSDN magazine article应该包含您需要的一切。
答案 1 :(得分:0)
它实际上并不像pre -.NET那么简单,因为您在Visual Studio中看到的表单的可视化版本实际上是多个文件的结果。
但是在最简单的形式中,您可以简单地反映.NET在创建新表单时所做的事情:
这将是一项乏味的任务,但可以做到。然而,添加资源将是繁重的。
答案 2 :(得分:0)
是的,如果您知道构建正确的MSIL,可以使用编译器服务(编译c#代码)或Emit
类来实现此目的。