一、MDI窗体容器
MDi窗体是装Form的容器。平常Form(窗体)就是平常展示的*别,但是MDI比Form还高级。它可以让其它窗体在它的内部打开,无法超出它的范围
1 创建:将某个窗体的属性:IsMdiContainer设置为true
2 将Form放入MdI:窗体对象名.MdiParent = this;
//此Form1是MDI容器。点击Form1,出现Form2 using 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。