C#自学之路32

32.基于单文档和多文档的应用程序

  通常可以将Windows窗口应用程序分为3类:基于单文档界面(SDI)应用程序,基于多文档界面(MDI)应用程序和基于对话框的应用程序。

   SDI应用程序中所有的窗口都是平等的,窗口之间不存在层次关系;MDI应用程序包含一个父窗口(也称为容器窗口)和一个或多个子窗口。对话框是Windows应用程序中重要的用户界面元素之一,是用户交互的重要手段。windows主要有3种对话框,模态对话框,非模态对话框,通用对话框。



   基于多文档界面(MDI)的应用程序。当父窗口关闭时,会自动关闭所有的子窗口,如果某个子窗体关闭失败,就会取消父窗口的关闭。多个子窗口只能有一个活动窗口,它获得用户的输入焦点,与用户交互,进行前台数据处理。


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 WindowsFormsApplication19

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

/*

Form2 form2 = new Form2();

form2.Show();

form2.MdiParent = this;

Form3 form3 = new Form3();

form3.Show();

form3.MdiParent = this;

Form4 form4 = new Form4();

form4.Show();

form4.MdiParent = this;

*/

}

private void 加载子窗体ToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 form2 = new Form2();

form2.Show();

form2.MdiParent = this;

Form3 form3 = new Form3();

form3.Show();

form3.MdiParent = this;

Form4 form4 = new Form4();

form4.Show();

form4.MdiParent = this;

}

private void 水平平铺ToolStripMenuItem_Click(object sender, EventArgs e)

{

LayoutMdi( MdiLayout.TileHorizontal );

}

private void 垂直平铺ToolStripMenuItem_Click(object sender, EventArgs e)

{

LayoutMdi( MdiLayout.TileVertical );

}

private void 层叠平铺ToolStripMenuItem_Click(object sender, EventArgs e)

{

LayoutMdi( MdiLayout.Cascade );

}

private void 关闭子窗体ToolStripMenuItem_Click(object sender, EventArgs e)

{

Form[] formList = this.MdiChildren;

foreach (Form form in formList)

{

form.Close();

}

}

}

}



时间: 2024-10-06 09:06:41

C#自学之路32的相关文章

我的web前端自学之路-心得篇:我为什么要学习web前端?

时光如流水,转眼间,自己已经是大三的学长了,看着一个个学弟学妹,心中有种莫名的感觉,很怀念大学的前两年时光,但也很憧憬着自己的未来,自己将要去经历很多从未经历的事.我是我们学校信科院的一名学生,在编程方面,一开始只是接触到了C语言,但是c语言对于我来说并不友好,也并不是那么的好学,所以自己对程序不是很有兴趣,但一个偶然的机会,我接触到了web前端,看着我的一个大牛同学用前端 所涉及的语言写出了一些很棒的程序,于是就产生了一种很想学习前端的想法和很想把前端做的完美的渴望,于是,就开始了我的前端之路

马士兵_JAVA自学之路(为那些目标模糊的码农们)

转载自:http://blog.csdn.net/anlidengshiwei/article/details/42264301 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去

【转】JAVA自学之路

JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的

[转载] JAVA自学之路

原文链接http://blog.csdn.net/mengxin846/article/details/2219844 虽然文章有点旧但还是有些启发的,譬如要事第一,好读书不求甚解. JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当 成学生

Node.js自学之路——2.前端管理

序—— <Node.js自学之路>系列文章,将记录我学习基于Node.js进行Web开发的过程. Node.js是基于V8引擎运行的开发平台,执行JavaScript速度快.性能好:也因其以JavaScript作为开发语言,对于前端工程师而言,它的学习曲线更低.开发效率更高. 文章目录: Node.js自学之路——1.环境搭建 Node.js自学之路——2.前端管理 一.Bower——前端类库管理 1.为什么使用bower 前端需要使用大量的类库,常用的就有:用来解决IE功能性Bug的HTML

马士兵:JAVA自学之路

JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训.决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢?我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势.一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的教师和课

我的iOS自学之路

学习一门语言需要坚持的毅力,本篇分享一下我的iOS自学之路,以及学习中总结的经验! 1. 为什么要学习iOS? 2014年11月左右进入某家公司,使用Java语言进行移动App接口开发工作,工作中认识了以为iOS开发同事,后来逐渐了解到iOS的市场行情和薪资待遇,大概是在培训机构培训4个月第一份工作大概能拿到1万左右,瞬间感觉做Java开发的受到一万点伤害!大学刚毕业都能拿到1W,我做Java 已经工作X年了还不如刚毕业的,那时开始慢慢关注iOS,了解到那时移动开发很火,以后发展应该很好!从那时

.NET程序员的Android自学之路(一):Android开发环境的准备

写在前面的话:话说,笔者是一个.NET程序员,技术水平可能还不入流,这两三年一直在关注WP,可惜诺基亚"一蹶不振",没有迎来WP的时代,现在只好投入Android阵营.其实也就是今天笔者刚开始学习Android的,计划将学习的过程记录下来,一是方便自己回顾,二是分享于有需要的人,闲话少提,开始今天的内容. 一.开发环境下载Java环境JDK:Oracle官网下载地址JDK7Android环境SDK:http://developer.android.com/sdk/index.html,

Node.js自学之路——1.环境搭建

序—— <Node.js自学之路>系列文章,将记录我学习基于Node.js进行Web开发的过程. Node.js是基于V8引擎运行的开发平台,执行JavaScript速度快.性能好:也因其以JavaScript作为开发语言,对于前端工程师而言,它的学习曲线更低.开发效率更高. 一.安装Node.js 1.进入Node.js官网下载并安装 2.启动cmd输入命令查看node及npm版本 node -v npm -v npm是node完成安装后自带的包管理器 二.安装Express express