splitContainer2.Panel2.controls.Add(Form1);
splitContainer2.Panel2.controls.Add(Form2);
splitContainer2.Panel2.controls.Add(Form3);
---------------------------------------------
splitContainer2.Panel2中增加了若干窗口。
每次打开新窗口时,先判断该窗口是否已经在splitContainer2.Panel2打开,
如果没有打开,则打开该窗口,设置了当前操作窗口;
如果已经打开,则将该窗口激活为当前操作窗口。如何实现???***********************
关键问题:(1)如何判断splitContainer2.Panel2中是否存在该窗口?
          (2)如何设置该窗口为当前操作窗口?

解决方案 »

  1.   

    看看这个splitContainer2.Panel2有没有childrens属性,如果有,就找这个属性下是否为空即可。
      

  2.   

    private void OpenAddWindow(form f)
    {//以添加的窗体名做为标识 即:f.text
     bool exec=true;
    for(int i=0;i<splicontainer2.panel2.controls.length;i++)
    {
      
      if(splicontainer2.panel2.controls[i].getType().name=="form")
      {
         if((splicontainer2.panel2.controls[i] as form).text==f.text))
         {
             ((splicontainer2.panel2.controls[i] as form).active();
              exec=false;
             break;
         }
       }
      }
      if(exec)
      {
         splicontainer2.panel2.controls.add(f);
         f.active();
      }
    }
      

  3.   

    splitContainer1.Panel2.Controls.Contains(...)
    Form1.Activate()
      

  4.   


    ***************************
    (1)这是在Visual studio.NET 2005 WinForm C#中的代码吗?
    (2)splicontainer2.panel2.controls.add(f);
      f.active();
       可否用:f.Show();
      

  5.   


    把:splicontainer2.panel2.controls[i].getType().name=="form"去掉!