winfrom 窗体传值和限制窗口只弹出一次

 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();
            }
        }

 

posted @ 2015-06-08 22:39  王文姿  阅读(337)  评论(0编辑  收藏  举报