【发布时间】:2017-12-28 17:39:27
【问题描述】:
假设我有一个包含 3 个项目 Main、Program1、Program2 的 C# 解决方案。
我想要一个“主窗体”,当我点击“程序1”按钮时,主窗体将被隐藏,程序1将被显示,当我关闭程序1时,主窗体将返回。
我怎样才能做到这一点?
我尝试添加 Program1 和 PROgram2 作为对 Project Main 的引用,并在 Main 中添加如下代码,它适用于调用 Program1,但无法处理事件 Program1.closed(),因为当我尝试将 Main 引用到 Program1 时,它会出错
---------------------------
Microsoft Visual Studio
---------------------------
A reference to 'Main' could not be added. Adding this project as a reference would cause a circular dependency.
---------------------------
OK
---------------------------
我搜索了谷歌并没有任何帮助!
using System;
using System.Windows.Forms;
namespace Switch
{
public partial class Main : Form
{
public Main()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Program1.Form1 pf1 = new Program1.Form1();
pf1.Show();
this.Hide();
}
}
}
【问题讨论】:
-
您真的想要 3 个不同的应用程序吗?还是只有 1 个应用程序和 3 个表单?
-
感谢@CamiloTerevinto 的快速评论,我需要 3 个应用程序,因为它来自 3 个不同的供应商。
-
我猜你可以使用
new Process启动每个表单并实现单个实例来调出另一个表单。 -
@zcui93 : 主窗体刚刚被隐藏,没有关闭,所以我需要将其显示回来,而不是另一个主窗体实例。
-
是的。搜索不同的单实例方法。这就是你所需要的。
标签: c# winforms fundamentals-ts