using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 关闭主程序_弹出唯一窗口
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "zhangsan" && textBox2.Text == "123")
{
Form2 f2 = new Form2(this);
f2.Show();
this.Hide();
}
else
{
MessageBox.Show("输入有误");
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 关闭主程序_弹出唯一窗口
{
public partial class Form2 : Form
{
Form1 F1 = null;
public Form2(Form1 f1)
{
InitializeComponent();
F1 = f1;
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
F1.Close();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
List<Form> list = new List<Form>();
private void button1_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3(this);
bool hasForm = false;
foreach (Form f in list)
{
if (f.Name == f3.Name)//说明已经有这个窗体存在
{
hasForm = true;//记录一下这个窗体已经存在的
f.WindowState = FormWindowState.Normal;
f.Show();
f.Activate();//激活并赋予焦点
//f.Focus();//焦点进入,把焦点定位在已经存在的窗体上
f3.Close();//把新new出来的窗体关闭。
}
}
if (hasForm==false)//如果没有打开,就重新打开。
{
f3.Show();
list.Add(f3);
}
}
private void button2_Click(object sender, EventArgs e)
{
Form3 f4 = new Form3(this);
bool hasForm = false;
foreach (Form f in list)
{
if (f.Name == f4.Name)//说明已经有这个窗体存在
{
hasForm = true;//记录一下这个窗体已经存在的
f.WindowState = FormWindowState.Normal;
f.Show();
f.Activate();//激活并赋予焦点
//f.Focus();//焦点进入,把焦点定位在已经存在的窗体上
f4.Close();//把新new出来的窗体关闭。
}
}
if (hasForm==false)//如果没有打开,就重新打开。
{
f4.Show();
list.Add(f4);
}
}
public void DeleteF3(Form3 f3)
{
List<Form> aa = new List<Form>();
foreach (Form f in list)
{
if (f.Name != f3.Name)
{
aa.Add(f);
}
}
list = aa;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 关闭主程序_弹出唯一窗口
{
public partial class Form3 : Form
{
Form2 F2 = null;
public Form3(Form2 f2)
{
InitializeComponent();
F2 = f2;
}
private void label1_Click(object sender, EventArgs e)
{
}
private void Form3_FormClosing(object sender, FormClosingEventArgs e)
{
F2.DeleteF3(this);
}
}
}