2011-01-05 219 views
2

我有一个小的应用程序,我写了需要使用/合并到大约6个较大的部分。理想情况下,我希望能够从每个独立应用程序中打开这个小块,而不是将代码添加到每个应用程序中。如果只需要在一个应用程序中进行更改,这将使维护更加容易。C#Winforms应用程序打开第二个Winforms应用程序

我看了,但我似乎无法弄清楚如何从一个内部打开第二个winform应用程序。任何帮助都会很棒。

感谢

+0

Process.Start:http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v = VS.100).aspx – 2011-01-05 16:56:59

回答

2

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(); 

虽然它是更多的代码,它通常是更方便,更简单的实现。该表单还可以从应用程序的其他位置访问并进行控制,并且可以实现其他功能,而无需处理相当混乱的跨进程通信业务。

2

我想看看,使这个图书馆就是这样,你一个参考从其他项目添加到一个单独的项目。比生成子进程更清洁。