动态加载所有窗体到MDI窗体中,
当子窗体最大化时,像TabControl中的tabpage一样; 当还原时,窗体还原在MDI中,但此时TabControl还在,作用是方便切换子窗体.不知道这样的功能,如何实现?还有CSDN上怎么加图片上去,我把图片加上去,看的更形象.

解决方案 »

  1.   

    你去写博那里 上传个图把... TabControl 必须配合 TabPage的...不是很明白你的需求.
      

  2.   

    http://blog.csdn.net/jianchun_liu/archive/2009/07/21/4366052.aspxhttp://blog.csdn.net/jianchun_liu/archive/2009/07/21/4366052.aspx这里面是效果图,请指教...
      

  3.   

    这个效果 你可以放一个
    TabControl 设置高为22  然后在TabControl的Selected事件里 对MDI字窗体进行操作.当你大开MDI窗体的时候 对TabControl添加TABPAGE 删除就删除TabControl就可以了.
      

  4.   

    说的是象 VS 开发工具一样吧, 代码文件是独立窗体。 都在上面排列着。.NET 控件里没这个,估计得找第三方或者自己写个
      

  5.   

    我觉得要实现你这个效果用微软的CAB(composite UI application block)更好CAB提供了多个标准的Workspace类,包括DeckWorkspace,TabWorkspace,MDIWorkspace,WindowWorkspace,ZoneWorkspace。我们也可以通过实现IWorkspace接口来定制个性化的Workspace,Workspace是SmartPart的承载体,而SmartPart简单一点可以理解成就是窗口。你这个效果可以通过切换使用MDIWorkspace与TabWorkspaceCAB目前一般对他的讨论是SCSF,你可以参考参考
      

  6.   


    CAB是什么啊,以前听过,但没用过,是类库还是开发环境?或者是别的什么?
      

  7.   

    CAB是类库,和企业库一起都是微软实际团队推出的,现在的SCSF是对CAB的包装,你可以去查找一下关于SCSF方面的资料不过,SCSF的学习起来成本也是蛮大的
      

  8.   

    给子窗体加个事件.. Form2 _Form2 = new Form2();
                _Form2.FormClosed += new FormClosedEventHandler(_Form2_FormClosed);
            void _Form2_FormClosed(object sender, FormClosedEventArgs e)
            {
                //移除 TabControl里的TabPage
            }
      

  9.   

     private void tsmiNew_Click(object sender, EventArgs e)
            {
                frmTest frm = new frmTest();
                AddControlForm(frm);
            }        void AddControlForm(Form obj)
            {
                Form childForm;
                childForm = obj;            childForm.FormClosing += new FormClosingEventHandler(childForm_Closing);            childForm.MdiParent = this;            TabPage tp = new TabPage();
                tp.Parent = this.tcManager ;
                tp.Text = childForm.Text;
                tp.Name = childForm.Handle.ToString();
                tp.Show();
                childForm.Show();
                tcManager.SelectedTab = tp;
            }        void childForm_Closing(object sender, EventArgs e)
            {
                MessageBox.Show(this.Handle.ToString());
            }我是这样写的,在childForm_Closing中的MessageBox没有show出来.
      

  10.   

    问题基本解决.利用4楼的方法,在主窗体中加MdiChildActivate事件,和在TabControl加Selected事件,就解决了.现在还有一个小问题,就是怎么移动TabPage,就是数标拖动TabPage改变它的位置。