一、MDI窗体容器
可以放窗体的容器
1 设置MDI窗体容器
将窗体样式的ISMdiContainer属性设置为true;
MDI窗体容器还是窗体,普通窗体有的它都有;
2 在MDI窗体容器放置窗体
(1)放进的窗体不显示边框
设置成无边框窗体
(2)只显示一个,不重复出现
清空;
panel1.Controls.Clear();
(3)不显示最大化、最小化、关闭按钮
在MDI窗体容器放置一个Panel,将这些打开的窗体放进Panel
(4)当MDI窗体容器窗体拖拽改变大小时,里边的窗体也要变
注意:最好将MDI窗体容器设置为不能改变窗体大小
使用ClinetSizeChanged事件,在事件中,将全部以打开的窗体的
WindowState属性重新设置一遍
//在MDI窗体容器放置窗体
panel1.Controls.Clear(); Form2 f2 = new Form2(this); f2.MdiParent = this; f2.Parent = panel1; f2.Show();
//当MDI窗体容器窗体拖拽改变大小时,里边的窗体也要变
private void Form1_ClientSizeChanged(object sender, EventArgs e) { if (f2 != null) { f2.WindowState = FormWindowState.Normal; f2.WindowState = FormWindowState.Maximized; } }
二、权限设置
可以控制MDI窗体容器中显示哪个窗体
方法:
1 每个窗体设置一个权限代号;
2 登录表中加一个权限列,每个人都对应一个权限;
3 登录后对权限进行判断显示相应的窗体
if (!aa.qx.Contains("101")) { 销售ToolStripMenuItem.Visible = false; } if (!aa.qx.Contains("102")) { 仓库ToolStripMenuItem.Visible = false; } if (!aa.qx.Contains("103")) { 财务ToolStripMenuItem.Visible = false; } if (!aa.qx.Contains("104")) { 管理ToolStripMenuItem.Visible = false; }
老板可以控制权限,类似人员管理系统(增删改查)。