繁体   English   中英

C#Winforms应用程序打开第二个Winforms应用程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM