windows mobile 上开发了一个应用程序主界面MainForm中有一按钮Button1.点击Button1进入FormB,FormB上同样有一按钮 botton2.点击botton2进入窗体FormC(有一关闭按钮buttonc)。问在关闭Formc时怎么样直接进入Maiform而不是重新打开一个mainform窗体.formC 关闭方法(){
MainForm mf=new MainForm();mf.show()//这样就重复打开了两个相同的mainForm了}

解决方案 »

  1.   

    MainForm mf=new MainForm();这完全没有必要啊,formc关闭后,因为是从formb上创建的,对于模式窗口,formb是可以检查到formc的关闭的,然后formb自己也关闭,不就显示主窗体吗
      

  2.   

    可以先遍历 Application.OpenForms 集合,当没有要找的类型的 Form 时才 new 一个出来。
      

  3.   

    遍历打开的所有窗口,如果已经打开,则激活,如果没有,则new
      

  4.   

      st = toolStripStatusLabel1.Text;
    if (infrm == null || infrm.IsDisposed)
                {
                    infrm = new Information(st);
                    infrm.MdiParent = this;
                    infrm.Show();
                    infrm.WindowState = FormWindowState.Maximized;
                }
                else
                {
                    infrm.WindowState = FormWindowState.Normal;
                    infrm.Activate();
                }
      

  5.   

    全局变量来放你的DemoForm . 对Form进行判断.
     在Application.OpenForms[""]里找DemoForm 的名字
    foreach (Form f1 in this.OwnedForms)
      {
      if (f1 is Form2)
      f1.Close();  
      }
      

  6.   

    你打开的窗体是不是子窗体 如果是子窗体 可以直接在菜单上做新增一个menuItem 然后到第一级菜单上找到MDEWindowListItem 设置成你新增的那个menuItem  就行了 这样你只要打开一个窗体之后 再点这个窗体 这个窗体就会显示在最前面,不会重复打开
      

  7.   

     
    //防止重复弹出窗口
                    if (dayForm != null && dayForm.Created)
                    {
                        dayForm.Focus();
                        return;
                    }                dayForm = new DayCostForm();
                    dayForm.Show();