MDI容器
MDI容器
具体步骤如下:
private void 销售ToolStripMenuItem_Click(object sender, EventArgs e)
{
VisibledForm(); Form2 f2 = new Form2(); 打开新窗口
f2.MdiParent = this;
f2.Name = "f2";
OpenForm(f2);
} private void VisibledForm()
{
foreach (Control c in panel1.Controls)
{
if (c is Form)
{
c.Visible = false;
}
}
} private void 仓库ToolStripMenuItem_Click(object sender, EventArgs e)
{
VisibledForm(); 引用方法
Form3 f3 = new Form3();
f3.MdiParent = this;
f3.Name = "f3";
OpenForm(f3);
} private void 财务ToolStripMenuItem_Click(object sender, EventArgs e)
{
VisibledForm(); 引用方法
Form4 f4 = new Form4();
f4.MdiParent = this;
f4.Name = "f4";
OpenForm(f4);
} //传一个窗体对象过来,看看有没有打开,如果开打了,则还原已打开的窗口
//如果未打开,则打开此新窗口
//参数:要验证的窗体
//返回值:无 public void OpenForm(Form fff) Form的参数fff,创建方法OpenForm
{
bool has = false;
foreach (Control c in panel1.Controls)
{
if (c is Form) 如果这个控件是窗口
{
if (c.Name == fff.Name)
{
has = true; 如果走到这说明有
fff = c as Form;
}
}
} VisibledForm();
if (has) 然后进行判断
{
//fff.WindowState = FormWindowState.Maximized; 按说应该进行还原窗口,但是,这里如果还原的话,这一步并不会走,所以不用这一步,而是直接Show出来
fff.Show();
}
else 如果这个窗口没有打开,然后Show出来,也需要调取隐藏的方法,所以把这个方法写到外边
{
fff.Parent = panel1;
fff.Show();
} } private void Form1_Load(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.MdiParent = this;
f2.Name = "f2";
OpenForm(f2);
}
MDI容器的更多相关文章
- winform 之MDI容器
MDI是指将多控件窗体在同一窗体中打开 1.设置:属性中IsMDIContainer:true; 窗体变为灰色成为MDI窗体容器 2.MDI中一般采用菜单作为打开方式 3.子级窗体在MDI中打开,需先 ...
- MDI窗体容器和权限设置.avi
一.MDI窗体容器 MDi窗体是装Form的容器.平常Form(窗体)就是平常展示的最高级别,但是MDI比Form还高级.它可以让其它窗体在它的内部打开,无法超出它的范围 1 创建:将某个窗体的属性: ...
- MDI窗体容器
Mdi是一个窗体容器控件,直接在新建好的窗体里面,将此窗体设置为Mdi容器,开启了Mdi容器的窗体里面,如果有点击事件打开新窗体,则这些新窗体会在此窗体内部的Mdi容器中打开 操作步骤: 1.首先先新 ...
- C#-WinForm-MDI窗体容器、权限设置
MDI窗体容器 - 放窗体的容器 窗体时顶级控件,是不允许放到其他的控件或窗体中的 (李献策lxc) 窗体属性中有一个属性:IsMdiContainer - 确定该窗体是否是MDI容器 在窗体中放一个 ...
- C# Windows - SDI和MDI应用程序
生成MDI应用程序 MDI应用程序至少要由两个截然不同的窗口组成.第一个窗口叫做MDI容器(Container),可以在容器中显示的窗口叫做MDI子窗口. 要把应用程序的主窗口从一个窗体改为MDI容器 ...
- 2019-8-15C#MDI窗体实现多窗口效果
C#MDI窗体实现多窗口效果 Visual C#是微软公司推出的下一代主流程序开发语言,他也是一种功能十分强大的程序设计语言,正在受到越来越多的编程人员的喜欢.在Visual C#中,提供了为实现M ...
- WinForm窗体设置
属性: 软件启动后在屏幕中间 StartPosition = CenterScreen取消放大按钮 MaximizeBox = false不能拖动边框 FormBorderStyle = FixedD ...
- 构建布局良好的Windows程序
工具箱→菜单和工具栏菜单栏MenuStrip的类型MenuItem:菜单项TextBox:文本框ComboBoX:组合框Separato:分割线前面都有ToolStrip做前缀 Applaction. ...
- 第二章 构建布局良好的windows程序
工具箱→菜单和工具栏 菜单栏 MenuStrip的类型 MenuItem:菜单项 TextBox:文本框 ComboBoX:组合框 Separato:分割线 前面都有ToolStrip做前缀 Appl ...
随机推荐
- IE9下table th不显示边框解决方法
添加下面两行样式即可 th, td{ background-clip: padding-box; /*背景被裁剪到内边距框*/ position:relative; }
- Java 模拟面试题
1.面向对象的特点 继承,封装,多态 2.对象和类的区别是什么? 对象是对客观事物的抽象,类是对对象的抽象.类是一种抽象的数据类型,它们的关系是,对象是类的实例,类是对象的模板. 3.静态成员和实例成 ...
- jq demo 点击选中元素左右移动
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- python基础——元组
元组运算符 与字符串一样,元组之间可以使用 + 号和 * 号进行运算.这就意味着他们可以组合和复制,运算后会生成一个新的元组. Python 表达式 结果 描述 len((1, 2, 3)) 3 计算 ...
- 翻译1-在SQL Server 2016中介绍微软R服务
在SQL Server 2016中介绍微软R服务 源自:http://www.sqlservercentral.com/articles/Microsoft/145393/ 作者:tomakatrun ...
- 测试同学必备抓包工具--charles之mock数据
charles中有三个是我经常用到来mock数据的. 一. 打断点--Breakpoints 1. 先切换查看‘Structure’模式 2. 找到目标链接,对其父级进行打断点,如图 3. 取消掉再次 ...
- 算法复杂度中的O(logN)底数是多少
前言 无论是计算机算法概论.还是数据结构书中,关于算法的时间复杂度很多都用包含O(logN)这样的描述,但是却没有明确说logN的底数究竟是多少.算法中log级别的时间复杂度都是由于使用了分治思想,这 ...
- 使用元类 编写ORM
元类 一句话: 元类定制类的创建行为 知识点 1.类的创建: python这种动态语言,函数和类的定义,不是编译时定义的,而是运行时动态创建的. Python解释器遇到class定义时,仅仅是扫描一下 ...
- freeswitch黑名单mod_blacklist使用
freeswitch自带黑名单模块"mod_blacklist",此文只是对该模块简单使用的实例. 最近接到客户投诉有大量骚扰电话,而从源头查不太容易,因此想到的笨方法是将投诉人加 ...
- Arcmap连接数据库需管理员获取许可——创建ArcSDE连接文件
一.在装有server的服务器上创建ArcSDE连接文件 1.打开ArcMap<<ArcToolBox<<数据管理工具<<工作空间<<创建ArcSDE连 ...