一、MDI窗体容器
MDi窗体是装Form的容器。平常Form(窗体)就是平常展示的最高级别,但是MDI比Form还高级。它可以让其它窗体在它的内部打开,无法超出它的范围
1 创建:将某个窗体的属性:IsMdiContainer设置为true
2 将Form放入MdI:窗体对象名.MdiParent = this;
//此Form1是MDI容器。点击Form1,出现Form2using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication12{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void 销售ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.MdiParent = this; f2.Show(); } }}
3 窗体打开时最大化属性不好用,怎么办?
在实例化窗体对象,show之前,用代码设置最大化属性
注意:窗体的WindowState属性必须为默认值Normal 4 内部窗体最大时右上角总是显示最大最小关闭按钮,如何去掉?在MDI窗体里放置一个Panel,将Panel沾满全部窗体,然后让新开窗体在Panel内部打开窗体对象名.Parent = Panel1;
5 窗体最大化打开后,不会跟随MDI窗体容器的大小而改变
使用ClinetSizeChanged事件,在事件中,将全部以打开的窗体的WindowState属性重新设置一遍
二、权限设置
在数据库里面设置有权限性质的列。在用户登录成功时对权限类内容进行判断,如果没有权限,那就修改响应的功能模块的visible属性,改为false。