获取父窗体的工作区域

在开发Winform MDI程序时,有时需要子窗体正好铺满父窗体的展示子窗体的区域,但又不希望子窗体最大化,此时按本文方式开发即可:
示例截图:
 
1、建立一个专门用于获取MDI父窗体展示子窗体的区域的大小的空白窗体,在窗体Load时就实例化该窗体,但不show出来。
        private void Main_Load(object sender, EventArgs e)
        {
            MainFormSizeFrm = new MainFormSize();
            MainFormSizeFrm.MdiParent = this;
        }
 
2、创建函数获取MDI父窗体展示子窗体的区域大小
        /// <summary>
        /// 获取MDI父窗体展示子窗体的区域大小
        /// </summary>
        /// <returns></returns>
        private Size GetMdiAreaSize()
        {
            MdiClient client = MainFormSizeFrm.Parent as MdiClient;
            return client.ClientSize;
        }
 
3、设置子窗体的Size
                tableFrm = new Table ();
                tableFrm.MdiParent = this;
                tableFrm.StartPosition = FormStartPosition.CenterScreen;
                tableFrm.Size = this.GetMdiClientAreaSize();
                tableFrm.Show();
posted @ 2011-05-18 16:25  牧马  阅读(278)  评论(0编辑  收藏  举报