C# 如何使两个单独项目中的两个单独C窗体中的按钮相互打开?

C# 如何使两个单独项目中的两个单独C窗体中的按钮相互打开?,c#,forms,visual-studio,reference,dependencies,C#,Forms,Visual Studio,Reference,Dependencies,我正在一个Microsoft Visual Studio解决方案中处理两个C项目。一个项目包含一个表单,用于从另一个项目中选择要打开的表单。我在Project2的每个表单上都有一个“后退”按钮,我希望用它重新打开第一个项目中的表单选择器。我研究了如何在没有运气的情况下绕过循环引用依赖。我更愿意把它们作为两个独立的项目。我需要把所有的东西都整合到一个混乱的项目中,还是有办法完成我想做的事情?先谢谢你 编辑: 我找到了一个简单但有效的解决方案。我只需要从项目1中引用项目2,因为我可以将项目1表单作为

我正在一个Microsoft Visual Studio解决方案中处理两个C项目。一个项目包含一个表单,用于从另一个项目中选择要打开的表单。我在Project2的每个表单上都有一个“后退”按钮,我希望用它重新打开第一个项目中的表单选择器。我研究了如何在没有运气的情况下绕过循环引用依赖。我更愿意把它们作为两个独立的项目。我需要把所有的东西都整合到一个混乱的项目中,还是有办法完成我想做的事情?先谢谢你

编辑:

我找到了一个简单但有效的解决方案。我只需要从项目1中引用项目2,因为我可以将项目1表单作为参数传递到项目2表单中,然后在单击按钮时显示第一个表单。再次感谢您。

按照以下步骤操作:

在与简单命令实用程序相同的解决方案中创建一个新项目,例如“Opener”。 将对主项目的引用添加到Opener。 在Program.cs中添加以下代码:

私有静态void OpenFormString formName { 如果formName==Form1 //打开你的表格1 其他的 //公开第二表格2 }

现在,您只需打开按钮“单击事件”“单击方式”上的表单即可:

Process.StartOpener.exe Form1


此Windows窗体是否与中相同,窗体类是否位于以下命名空间中:System.Windows.Forms?请您也发布一些代码,特别是您用来打开Project 2表单的代码。谢谢您的回复。这似乎是一个智能的解决方案,但我确实有一个关于如何实现它的问题。如果我有一个“Opener”项目,项目1调用它打开项目2,项目2调用它打开项目1,那么“Opener”项目将需要引用项目1和2,项目1和2将需要引用Opener,从而导致相同的问题。我是否需要两个开放式项目,一个由项目1调用以打开项目2,另一个由项目2调用以打开项目1?谢谢。不,您不需要在任何其他项目中引用Opener项目。只需使用Process.Start调用其.exe。如果有帮助,只需将答案标记为已接受即可