当前位置:
文档之家› 2019Windows窗体界面设计.ppt
2019Windows窗体界面设计.ppt
1.默认为单文档窗体(SDI),将窗体的IsMdiContainer属性设置为 true,即可将该窗体变为多文档窗体(MDI)。 2. MDI例子: (1)创建项目MdiExample (2)添加窗体Form2、Form3 (3)将Form1的IsMdiContainer属性设置为True,然后添加菜单: (a) 打开与关闭子窗口 子菜单:打开Form2 打开Form3 关闭Form2 关闭Form3 (b)排列子窗口(子菜单:水平平铺、垂直平铺、层叠) (c)退出
5
1.2 单文档窗体(SDI)与多文档窗体(MDI)
(4)添加“打开Form2”、“打开Form3”事件: private void 打开Form2ToolStripMenuItem_Click(……) { Form2 fm = new Form2(); 不能省略,如果不设置,将其作 为子窗体时,其Name属性默认 fm.MdiParent = this; 为空字符串(String.Empty) = "Form2"; fm.Show(); } private void 打开Form3ToolStripMenuItem_Click(……) { Form3 fm = new Form3(); fm.MdiParent = this; = "Form3"; fm.Show(); }
4
label1.Parent = pictureBox1;
pictureBox2.Parent = pictureBox1; 则label1和PictureBox2相对于PictureBox1是透明的,
而PictureBox1相对于窗体Form1是透明的。
1.2 单文档窗体(SDI)与多文档窗体(MDI)
9
2 Windows窗体基本控件
2.1 控件中常用的属性和方法 1.常用基本属性
10
除了书上讲的属性外,还要注意以下属性的用法:
1) (Name):指定控件的名称,它是控件在当前应用程序中的 唯一标识,代码通过该属性来访问控件
2) Enabled:决定控件是否可用,取值为true时可用,取值 为false时不可用
6
1.2 单文档窗体(SDI)与多文档窗体(MDI)
(5) 添加“关闭Form2”、“关闭Form3”事件: private void 关闭Form2ToolStripMenuItem_Click(……) { Form[] mdiChildren = this.MdiChildren; foreach(Form fm in mdiChildren) { if ( == "Form2") fm.Close(); } } private void 关闭Form3ToolStripMenuItem_Click(……) { Form[] mdiChildren = this.MdiChildren; foreach (Form fm in mdiChildren) { if ( == "Form3") fm.Close(); } }
Windows窗体界面设计
1 窗体、属性与事件
2 Windows窗体基本控件 3 菜单与工具栏 4 其他Windows窗体控件
1
2
本章教学目的 介绍Windows窗体基本设计方法以及基本控件的用法。
本章教学要求
(1)掌握基本控件的属性设置方法以及常用属性;
(2)掌握基本控件的常用事件处理方法;
3)Anchor属性:保持控件与边框的距离不变
4)Dock属性:让控件始终紧靠边框
2.1 控件中常用的属性和方法
7ห้องสมุดไป่ตู้
1.2 单文档窗体(SDI)与多文档窗体(MDI)
(6) 添加子窗体排列事件: private void 水平平铺ToolStripMenuItem_Click(……) { youtMdi(MdiLayout.TileHorizontal); } private void 垂直平铺ToolStripMenuItem_Click(……) { youtMdi(MdiLayout.TileVertical); } private void 层叠ToolStripMenuItem_Click(……) { youtMdi(MdiLayout.Cascade); } (7) 添加“退出”事件: private void 退出ToolStripMenuItem_Click(……) { Application.Exit(); } (8) 运行,观察效果。
(3)掌握菜单与工具栏的用法; (4)了解其他内容。
先观察:界面设计举例1
3
1 窗体的属性和透明显示
利用Transparent和Parent属性,可以将Label放到PictureBox上透明显 示,也可以将多个PictureBox重叠透明显示。 举例2: (1)将label1、PictureBox1和PictureBox2重叠放到一个Panel控件内 (2)设置label1、PictureBox1和PictureBox2控件的BackColor属性均 为 Transparent (3)在构造函数中,设置label1和PictureBox2的父控件为PictureBox1:
8
实验中发现的问题回答
问题:我希望知道程序是否执行到某处,但又不希望在设计窗体上显示,有 哪些方法可以做到? 答:方法1:在判断是否执行的地方设置断点。 方法2:利用调试输出窗口输出相应信息。 (1)选择菜单的“视图” “输出”,以便显示调试信息 (2)利用调试信息测试执行情况。例如测试每次循环计算的结果: int sum = 0; for (int i = 0; i < 100; i++) { sum += i; System.Diagnostics.Debug.Print("第{0}次循环:{1}", i,sum); } 调试信息只在调试输出窗口中显示,不会在设计窗体上显示。在进行需要 大量时间的后台操作时,这种方法很有用。