终于搞定c#中对mdi的操作,代码见内(parent部分)

发表于:2007-06-30来源:作者:点击数: 标签:
花了我一上午的时间,找来找去找不到答案,又是急性子,只好自己动手了,见笑,也请大家多提意见,谢了。 parent.cs ------------------------------------------------------------ using System; using System.Drawing; using System.Collections; using Sy
花了我一上午的时间,找来找去找不到答案,又是急性子,只好自己动手了,见笑,也请大家多提意见,谢了。

parent.cs
------------------------------------------------------------
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

namespace testagain
{
    /// <summary>
    /// Summary description for parent.
    /// </summary>
    public class parent : System.Windows.Forms.Form
    {
        private System.Windows.Forms.MainMenu mainMenu1;
        private System.Windows.Forms.MenuItem m_FileMenu;
        private System.Windows.Forms.MenuItem m_OpenFile;
        private System.Windows.Forms.MenuItem m_Close;
        private System.Windows.Forms.MdiClient mdiClient1;
        private System.Windows.Forms.MenuItem menuItem1;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public parent()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            testform f_test = new testform(this);
            f_test.Show();
            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        public static void Main()
        {
            Application.Run(new parent());
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if(components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.mainMenu1 = new System.Windows.Forms.MainMenu();
            this.m_FileMenu = new System.Windows.Forms.MenuItem();
            this.m_OpenFile = new System.Windows.Forms.MenuItem();
            this.m_Close = new System.Windows.Forms.MenuItem();
            this.menuItem1 = new System.Windows.Forms.MenuItem();
            this.mdiClient1 = new System.Windows.Forms.MdiClient();
            this.SuspendLayout();
            //
            // mainMenu1
            //
            this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                                                                      this.m_FileMenu,
                                                                                      this.menuItem1});
            //
            // m_FileMenu
            //
            this.m_FileMenu.Index = 0;
            this.m_FileMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                                                                       this.m_OpenFile,
                                                                                       this.m_Close});
            this.m_FileMenu.Text = "文件(&F)";
            //
            // m_OpenFile
            //
            this.m_OpenFile.Index = 0;
            this.m_OpenFile.Shortcut = System.Windows.Forms.Shortcut.CtrlO;
            this.m_OpenFile.Text = "Dns探测";
            this.m_OpenFile.Click += new System.EventHandler(this.m_OpenFile_Click);
            //
            // m_Close
            //
            this.m_Close.Index = 1;
            this.m_Close.Shortcut = System.Windows.Forms.Shortcut.CtrlX;
            this.m_Close.Text = "关闭";
            this.m_Close.Click += new System.EventHandler(this.m_Close_Click);
            //
            // menuItem1
            //
            this.menuItem1.Index = 1;
            this.menuItem1.Text = "关于...(&A)";
            this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
            //
            // mdiClient1
            //
            this.mdiClient1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.mdiClient1.Name = "mdiClient1";
            this.mdiClient1.TabIndex = 0;
            //
            // parent
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
            this.ClientSize = new System.Drawing.Size(536, 309);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.mdiClient1});
            this.IsMdiContainer = true;
            this.Menu = this.mainMenu1;
            this.Name = "parent";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "MDI窗体操作演示_父窗体";
            this.ResumeLayout(false);

        }
        #endregion

        private void menuItem1_Click(object sender, System.EventArgs e)
        {
            Form f_activeform = this.ActiveMdiChild;
            if (f_activeform != null)
            {
                if (f_activeform.Name != null && f_activeform.Name != "parent")
                {
                    f_activeform.Close();
                }
            }
            child child_form = new child(this);        
            
            child_form.Show();
            
        }

        private void m_Close_Click(object sender, System.EventArgs e)
        {
            this.Close();
        }

        private void m_OpenFile_Click(object sender, System.EventArgs e)
        {
            Form f_activeform = this.ActiveMdiChild;
            
            if (f_activeform != null)
            {
                if (f_activeform.Name != null && f_activeform.Name != "parent")
                {
                    f_activeform.Close();
                }
            }
            testform f_test = new testform(this);
            f_test.Show();
        }
    }
}
 

原文转自:http://www.ltesting.net