文档界面
分类:
1、单文档界面应用程序(SDI)
特点:
1、应用程序中SDI的所有窗体都彼此独立
2、多文档界面应用程序(MDI)
特点:
1、每个应用程序中只能有一个MDI父窗体,在父窗体中可以打开多个MDI子窗体
2、任何MDI子窗体都只能在父窗体内部区域活动。
3、当关闭任何子窗体时,对其他打开的子窗体以及父窗体均没有任何影响。
4、当关闭父窗体时,将关闭所有打开的子窗体。
实现步骤:
1、设置MDI父窗体
设置窗体IsMdiContainer属性为true:则当前窗体为MDI父窗体
2、设置MDI子窗体代码如下
窗体名 对象名=new 窗体名();
对象名.MdiParent =this;
对象名.Show();
注意:MDI子窗体在弹窗出现时一定不能设置为模式弹窗
即:只能为Show弹窗
===================================================================================================================
一、MDI窗体设置和其子窗体设置
1、设置窗体的IsMdiContainer属性为true
2、设置MDI窗体的子窗体
子窗体1 子窗体=new 子窗体1();
子窗体.MdiParent=this;
子窗体.Show();

二、MDI窗体的子窗体排列
1、水平对齐:this.LayoutMdi(MdiLayout.TileHorizontal);
2、垂直平铺:this.LayoutMdi(MdiLayout.TileVertical);
3、层叠:this.LayoutMdi(MdiLayout.Cascade);
4、排列所以图表:this.LayoutMdi(MdiLayout.ArrangeIcons);

三、获取子窗体的数量
1、MessageBox.Show(this.MdiChildren.Length+"");

四、MDI窗体中窗口只允许打开一个
/// <summary>
/// 判断MDI子窗体是否存在 存在就显示
/// </summary>
/// <param name="formName">窗体名</param>
/// <returns></returns>
public bool IsSunFrmOpen(string formName)
{
// 子窗体是否已经打开了?(用循环来判断)
foreach (Form childrenForm in this.MdiChildren)
{
//检测是不是当前子窗体名称
if (childrenForm.Name == formName)
{
//是的话就是把他显示
childrenForm.Visible = true;
//恢复窗体的默认状态
childrenForm.WindowState = FormWindowState.Normal;
return true;
}
}
return false;
}

调用如下:
private void **_Click(object sender, EventArgs e)
{
//判断名字为Form1的子窗体是否存在 存在就显示 否则就创建
if (!IsSunFrmOpen("Form1"))
{
//不存在就创建窗体对象
Form1 f1 = new Form1();
f1.MdiParent = this;
f1.Show();
}
}

Winform知识的更多相关文章

  1. Winform知识汇总之多次绑定DataGridView的DataSource会报错 NullReferenceExcepti

    最近做了一个winform的项目,数据绑定在datagridview中,datagridview中的数据需要删除,分页,更新等之类的操作,所以就涉及到了datagridview的重新绑定问题,而且这些 ...

  2. C# 基础知识 (三).主子对话框数值传递

    在C# winform编程中,我们经常会遇到不同窗口间需要传递数值的问题.比如数据库的应用,主窗口填写内容num1,点击按钮,在弹出的子窗口显示对应num1值;或者在子窗口填写新注册用户名信息,在主窗 ...

  3. 自定义可视化调试工具(Microsoft.VisualStudio.DebuggerVisualizers)

    前言: 最近飞机失联的太多,明天要飞北京处理服务器双机热备的问题,航空保险已买,单号是:TF10122913. 至于我的银行卡密码,在我枕头下面的字条里,要是我之后没再更新文章,请通知我家人,哈哈哈哈 ...

  4. 自定义可视化调试工具(Microsoft.VisualStudio.DebuggerVisualizers)vs.net开发工具

    背景: 话说:使用CYQ.Data时,会经常断点MDataTable的对象,为了查看表格的数据内容,在监视里会常ToDataTable(),然后借可DataTable的可视化方式查看表格. 近日:心中 ...

  5. 我的.NET之路

    有时感觉知识比较零散,做个总结形成自己的知识体系,方便查阅[持续更新...] C#语法特性 .Net FrameWork发展史 C# 语言版本发展史 1.NET体系结构 [C#与.NET的关系.公共语 ...

  6. 3_03_MSSQL课程_Ado.Net_数据导入

    数据库数据导出和导入 思路: --思路: 1.找到文件 2.读取文件 3.第一行 忽略 4.insert using System; using System.Collections.Generic; ...

  7. Winform开发几个常用的开发经验及知识积累(一)

    本人做Winform开发多年,孜孜不倦,略有小成,其中收集或者自己开发一些常用的东西,基本上在各个项目都能用到的一些开发经验及知识积累,现逐步介绍一些,以飨读者,共同进步. 1.窗口[×]关闭按钮变为 ...

  8. WinForm开发,窗体显示和窗体传值相关知识总结

    主窗体中代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void b ...

  9. 一句话知识:如何解决winform自动缩放产生的布局问题.

    转自http://www.cnblogs.com/KenBlove/articles/1281823.html有时候你会发现本来好好的WinForm程序在别的机器上显示的尺寸就不对了.这些问题主要发生 ...

随机推荐

  1. DG - dataguard trouble shooting的相关视图

    •V$DATAGUARD_STATS:显示dataguard统计信息 备库 SQL> select * from v$dataguard_stats; NAME VALUE UNIT TIME_ ...

  2. PostgreSQL Loadbalance Analysis CPU

    Before we can even begin to decide on a processor count, we need a baseline. With a working PostgreS ...

  3. Codeforce Round #214 Div2

    我是不是快要滚蛋了,这次CF爆0? 居然第一题都过不去了,妈蛋附近有没有神经病医院,我要去看看! 精力憔悴! 第一题,我以为要恰好这么多钱,不能多余,想想这也没必要,不符合逻辑,及自己就是这么傻逼! ...

  4. 树形DP(统计直径的条数 HDU3534)

    分析:首先树形dp(dfs计算出每个点为根节点的子树的最长距离和次长距离),然后找出L=dis[u][0]+dis[u][1]最长的那个点u,然后在以u为根节点dfs,统计长度为L的条数:具体做法:把 ...

  5. The golden ratio: 1.618

    http://www.chinaz.com/design/2015/1109/467968_2.shtml The golden ratio: 1.618 a/b=b/(a+b) The Fibona ...

  6. Geek version acm pc^2 direction for user

    gogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogo ...

  7. [原创]java WEB学习笔记56:Struts2学习之路---Struts 版本的 登录 demo

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. 「LAMP」在ubuntu及其衍生版上 安装LAMP

    在Ubuntu上安装LAMP 此种方法在Linux Mint 13/14/15/16/17.Ubuntu 12.10(Quantal Quetzal)和Ubuntu 13.04 Raring Ring ...

  9. php curl 抓去远程页面内容

    <?php/*** php curl抓取远程网页内容* edit by www.jbxue.com*/$curlPost = 'a=1&b=2';//模拟POST数据$ch = curl ...

  10. 衣明志是个SB

    面试碰到衣明志,问了些傻逼问题,尼玛就是一不折不扣的蠢驴. 这个人太能装了,而且水平也不咋地.