我有一个启动另一个应用程序的父窗体。应用程序启动时,应将应用程序设置为父级的mdichild。
我已设法使用以下代码将其与记事本配合使用。
Process proc = new Process();
proc.StartInfo.FileName = "notepad.exe";
proc.Start();
proc.WaitForInputIdle();
SetParent(proc.MainWindowHandle, this.panel.Handle);
问题在于它不能与所有应用程序一起使用。具体来说,它不能与c#中开发的其他win form应用程序一起使用,这就是我所需要的。
感谢任何帮助,谢谢。
编辑:我可以访问我想要作为mdi孩子打开的c#app的代码。
答案 0 :(得分:0)
OP:我可以访问我想以mdi打开的c#app的代码 子。
要打开其他.Net窗口应用程序的一种形式,您不需要使用SetParent
,只需{。}} .Net应用程序(dll,exe或项目)的add a reference即可项目,然后创建该应用程序的主要形式的实例,并像其他形式的应用程序一样显示它。
如果您可以访问该应用程序的项目,则可以将其添加到当前解决方案中,并使用添加对当前项目的引用。
如果您无权访问该应用程序的项目项目,则可以将其exe / dll的引用添加到当前项目中。
要详细了解添加引用,请阅读How to: Add or Remove References By Using the Add Reference Dialog Box
答案 1 :(得分:0)
another.Form1 fr = new another.Form1(); //another.exe has Form1 if not select form.
fr.MdiParent = this;
fr.Show(); // Display the new form.