[英]C# Winforms Application To Open a Second Winforms Application
我有一个小编写的应用程序需要使用/合并到大约6个更大的部分。 理想情况下,我希望能够从每个独立应用程序中打开这个较小的部分,而不是将代码添加到每个部分。 如果只需要在一个应用程序中进行更改,这将允许更容易的维护。
我看了,但我似乎无法弄清楚如何从一个内部打开第二个winform应用程序。 任何帮助都会很棒。
谢谢
2个选项。
1)如果这个小应用程序可以独立存在,这意味着它可以以一种有用的方式执行而不会被父应用程序生成,那么使用Process.Start()
。 生成此进程的应用程序可能无法在部分信任环境中运行。
Process.Start("notepad.exe");
2)如果应用程序仅在父应用程序的上下文中有用,比如通过给定对象或来自其他应用程序的其他参数,请考虑重构小应用程序以允许父应用程序引用该表单的项目。 然后,您的父应用程序可以简单地创建表单的新实例并显示它:
var childForm = new SmallAppForm();
childForm.Owner = this; //the child window will close when its owner does.
childForm.Show();
虽然代码更多,但实现起来通常更容易,更简单。 该表单也可以从应用程序的其他地方访问和控制,并且可以实现其他功能,而无需处理跨进程通信的相当混乱的业务。
我希望这个库是一个独立的项目,您可以从其他项目中添加引用。 比产生儿童过程更清洁。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.