当前位置:首页 --> 技术原创 --> 正文

如何构建MDI窗体

2008-8-27 21:41:00 来源: 浏览次数: 评论数: 字号:[ ]
      世间的事情很奇妙,不了解的,自己半天找不到解决方法,而对于接触过的,再难也有方案去解决。
      今天对MDI窗口的相关知识在这里做个笔记:
      1、父窗口的定义
            设置IsMdiContainer属性为true则可。
      2、子窗口的显示
            子窗口有制作时不用设置特定的属性,只需要在显示之前设置下子窗口的容器窗口则可,如:
            frmChild child = new frmKeyword();
            child.MdiParent = this;
            child.Show();
 
            如上显示窗口,则child会有child.MdiParent内显示,但如果多次调用这段代码,则会有N个窗口出现。如果希望多次调用都是同一个窗口怎么办?这里需要用到单态模式了。如,我们需要在frmChild窗体代码中定义如下方法:
        private static frmChild propForm = null;
        public static frmChild CreateForm()
        {
            if (propForm == null)
            {
                propForm = new frmChild();
            }
            return frmChild;
        }
        private frmChild()
        {
            InitializeComponent();
        }
      这里定义了一个静态的propForm属性,用于保存CreateForm()生成的结果。并把构造属性声明为private。这样,显示方法相应的更改为:
            frmChild child= frmChild.CreateForm();
            child.MdiParent = this;
            child.Show();
?
?