窗体传值状态栏显示以及在容器里面只能弹出一次相同的窗体

 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();
            }
        }
原文地址:https://www.cnblogs.com/lk-kk/p/4562116.html