希望你能看懂我的代码
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
FrmLogin frmLogin = new FrmLogin();
if (frmLogin.ShowDialog() == DialogResult.OK)
{
FrmMain frmMain = FrmMain.GetFrmMain();
frmMain.UserId = frmLogin.UserId;
frmMain.PassWord = frmLogin.PassWord;
frmLogin.Dispose();
FrmParent frmParent = new FrmParent();
frmParent.Location = new System.Drawing.Point(System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width / 2 - frmParent.Width / 2, System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height / 2 - frmParent.Height / 2);
Application.Run(frmParent);
}
}
两个窗口A,B
在A窗口的button_Click里写
Form2 f2 = new Form2(this);///把Form1窗口传给Form2
f2.show();
在B的构造涵数那里写
Form1 f1;
public Form2(Form1 f1)
{
this.f1 = f1;
}
在Form2的button_Click里写
f1.close();
如果你的第一个窗体是主窗体,是不能关的,关会连带进程一起回收。唯一能做的是吧他隐藏掉。
this.Hide();
在第二个窗体关闭的同时把进程释放,就可以完全关闭程序了
要实现这种效果很麻烦,
简单点就是将每一个窗口Hide。