我在Visual Studio 2015中使用了Windows窗体的C#解决方案。在解决方案中有两个项目:项目A,项目B。
如果我运行项目B,则会显示登录对话框。如果登录通过,则打开主表单。
如果单击项目A中的按钮,我想要相同的行为。但它只显示对话框,但点击登录,主要表单不打开。
这是项目B的原始工作代码:
parts[8]
这是来自项目A的代码:
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
LoginForm pf;
Application.Run(pf = new LoginForm ());
if (pf.Zakaznik != null)
Application.Run(new MainForm(pf.Zakaznik));
}
答案 0 :(得分:0)
您必须使用
引用它来实例化表单var f = new ProjectB.Form1.cs();
f.Show();
您的其他表单未显示(您的主要表单),因为它已经打开。打开新帐户后,您需要执行this.Close();
。当你显示另一个表单时,它实际上只隐藏另一个表单(或单独留下)。
答案 1 :(得分:0)
您应该致电Show()
,而不是致电ShowDialog()
。后一种方法将阻止您的代码,直到用户关闭窗口。通过调用第一种方法,您的代码会立即继续,而无需等待用户关闭对话框,从而导致pf.Zakaznik
始终为null
。