窗体传值状态栏显示以及在容器里面只能弹出一次相同的窗体
private void button1_Click(object sender, EventArgs e) //登陆页面的第一栏的文本 要将它传到Main窗体的状态栏 { //要通过构造函数传值 string x = textBox1.Text; Main f = new Main(x); //构造函数传值 f.Show(); } private string X; public Main(string x) { InitializeComponent(); X = x; //开始传值 } private void Main_Load(object sender, EventArgs e) { toolStripStatusLabel1.Text = "欢迎您:" + X; // 在加载Main页面的时间 把状态栏加载出来 }
////
private void 高考ToolStripMenuItem_Click(object sender, EventArgs e) { name f = new name(); xianshi(f); } public void xianshi(Form f) //造一个xianshi的函数,为了调用方便 { int count = 0; foreach (Form x in this.MdiChildren) //this.MdiChildren 当前窗体所有的子窗体组成的数组 所有窗体的类型都是Form { if (x.Name == f.Name) //如果新点出的那个窗体的名字和之前已经有了的窗体的名字相同,就不需要在点出来了 { x.Focus();//把之前点的那个窗体聚焦一下 count++; //改变一下count的数值,使它不走下面的 if (count == 0)条件 } } if (count == 0) { f.MdiParent = this; f.Show(); } }