第六讲窗体、控件和组件2.ppt
《第六讲窗体、控件和组件2.ppt》由会员分享,可在线阅读,更多相关《第六讲窗体、控件和组件2.ppt(114页珍藏版)》请在三一办公上搜索。
1、第六讲,窗体、控件和组件,2,回顾,属性通过使用访问器读写类中的字段,对字段进行保护。属性分为以下三种不同的类型:读/写属性只读属性只写属性可以在类中定义索引器,允许使用下标对该类对象中的数据进行访问索引器必须总是命名为 this,因为对它们的访问是通过其所属的对象进行的委托包含对方法而不是方法名称的引用C#中的事件允许一个对象将发生的事件或修改通知其他对象,第6章 窗体、控件和组件,6.1 窗体与对话框6.2 控件共有的基本操作6.3 容器类控件和组件6.4 文本操作类控件6.5 选择操作类控件6.6 图像操作类控件和组件6.7 菜单、工具栏与状态栏6.8 视图操作类控件6.9 其他常用控件
2、,4,目标,理解 Windows 窗体使用基本控件如标签、文本、按钮、列表框和组合框掌握窗体的常用属性和方法,5,简介 3-1,GUI界面,6,简介 3-2,各种控件,属性,放置控件的区域,7,简介 3-3,WinForms应用程序可能存在多个窗体,用于获取用户输入的数据和向用户显示数据,System.Windows.Forms,简单而强大 改善了接口和基类 IntelliSense 新的管理数据提供程序 安全 灵活的控件 通晓数据 向导,8,创建 WinForms应用程序 6-1,“开始”“程序”“Microsoft Visual Studio.NET 2003”“Microsoft Vis
3、ual Studio.NET 2003”,9,创建 WinForms应用程序 6-2,设计窗口,10,创建 WinForms应用程序 6-3,using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;namespace SampleProject/Form1 的摘要说明。/public class Form1:System.Windows.Forms.Form/必需的设计器变量./,提供了大量绘图工具的访问权限,基础核心命名空
4、间,ArrayList、BitArray、Hashtable、Stack、StringCollection 和 StringTable 类,大量窗体和控件,从 System.Windows.Forms.Form 派生,Visual Studio.NET 生成的代码,11,创建 WinForms应用程序 6-4,private System.ComponentModel.Container components=null;public Form1()/Windows 窗体设计器支持所必需的/InitializeComponent();/TODO:在 InitializeComponent 调用之
5、后添加任何构造函数代码/,构造函数调用 InitializeComponent()方法,private void InitializeComponent()ponents=new System.ComponentModel.Container();this.Size=new System.Drawing.Size(300,300);this.Text=Form1;,项目的容器,12,创建 WinForms应用程序 6-5,/清理所有正在使用的资源。/protected override void Dispose(bool disposing)if(disposing)if(components
6、!=null)components.Dispose();base.Dispose(disposing);,释放系统资源,13,创建 WinForms应用程序 6-6,STAThreadstatic void Main()Application.Run(new Form1();,程序的主入口点,14,WinForms 中的常用控件 2-1,可视化界面组件统称为控件,System.Windows.Forms.Control,6.1 窗体与对话框,1、窗体应用程序的启动和停止使用Application类提供的静态方法来启动、停止应用程序。Application类提供的方法:Run方法:用于在当前线程
7、上启动应用程序消息循环,并显示窗体。Exit方法:用于停止消息循环。DoEvents方法:用于在程序处于某个循环中时处理消息。,6.1.2 窗体的创建、显示与隐藏,1、如何在代码中打开一个新窗体 Form2 fm=new Form2();fm.Show();/或者fm.ShowDialog();2、如何在代码中关闭一个窗体 用法1:fm.Close();用法2:this.Close();用法3:Application.OpenFormsForm1.Close();3、如何隐藏一个打开的窗体(1)隐藏当前窗体:this.Hide();(2)隐藏其它窗体:Application.OpenForms
8、Form1.Hide();4、如何重新显示隐藏的窗体(1)显示当前窗体:this.Show();(2)显示其它窗体:Application.OpenFormsForm1.Show();,17,窗体容器简介 2-1,图标,系统按钮,标题栏,控件,18,窗体容器简介 2-2,SDI 单文档界面 MDI 多文档界面 模式窗口,19,显示另一窗体,被调用的窗体类 窗体实例=new 被调用的窗体类();,窗体实例.Show();,private void cmdShow_Click(object sender,System.EventArgs e)frmA A=new frmA();A.Show();,
9、6.1.2 窗体的创建、显示与隐藏,【例6-1】演示窗体的基本用法以及如何显示和关闭窗体。部分运行效果如图:,6.1.3 窗体常用的属性,常用属性:Name:获取或设置窗体的名称,代码中通过该属性来访问窗体。BackColor:获取或设置窗体的背景色。ForeColor:获取或设置窗体上文本的前景色。Location:获取或设置以屏幕坐标表示的代表窗体左上角的坐标位置。Size:指定窗体的高度和宽度。Text:设置控件上所要显示的文本,如标签、按钮和复选框等控件上的文字。,22,窗体的常用方法和事件,窗体常用的属性和外观控制,StartPostion:获取或设置运行时窗体的起始位置,一般在构造
10、函数中设置此属性。例如:this.StartPosition=FormStartPosition.Manual;this.Location=new Point(screenX,screenY);通过设置窗体的【ControlBox】属性为“True”或者“False”,可以控制是否显示最大化、最小化以及关闭按钮。除此之外,还可以通过设置窗体的【FormBorderStyle】属性控制窗体的边框样式。,6.1.4 窗体位置及外观控制,【例6-2】演示如何控制窗体的显示位置以及如何控制窗体的外观形状。设计视图如下:,运行效果如下:,6.1.5 单文档窗体和多文档窗体,Windows的窗体分为单文档
11、窗体和多文档窗体。多文档窗体(Multi-Document Interface,MDI)是指在一个主窗体中可以包含一个或多个子窗体的窗体,主窗体称为MDI父窗体,子窗体称为MDI子窗体。,6.1.5 单文档窗体和多文档窗体,【例6-3】演示MDI窗体的基本用法以及如何显示和关闭子窗体。,6.1.6 对话框,对话框用于与用户交互和检索信息。对话框分为标准对话框和自定义对话框。1MessageBox对话框 调用MessageBox类的静态Show方法来显示消息对话框。返回值是MessageBoxResult枚举的值,其中每个值都等同于消息对话框可以显示的按钮之一。Show方法提供了多种重载形式,常
12、用的重载形式有:public static DialogResult Show(string text)public static DialogResult Show(string text,string caption)public static DialogResult Show(string text,string caption,MessageBoxButtons buttons,MessageBoxIcon icon),6.1.6 对话框,Text:在消息框中显示的文本。caption:在消息框的标题栏中显示的文本。buttons:MessageBoxButtons枚举值之一,指定在
13、消息框中显示哪些按钮。枚举值有OK、OKCancel、YesNoCancel和YesNo。icon:MessageBoxIcon枚举值之一,指定在消息框中显示哪个图标。枚举值有None(不显示图标)、Hand(手形)、Question(问号)、Exclamation(感叹号)、Asterisk(星号)、Stop(停止)、Error(错误)、Warning(警告)和Information(信息)。Show方法的返回值是DialogResult枚举值之一。DialogResult枚举值有:None(消息框未返回值)、OK、Cancel、Yes和No。,通用对话框,OpenFileDialogSav
14、eFileDialogPrintDialogFontDialogColorDialog,6.1.6 对话框,6.1.6 对话框,2.ColorDialog:提供颜色选择。方法:ShowDialog()返回值:DialogResult类型3.FontDialog:提供字体选择。方法:ShowDialog()返回值:DialogResult类型用法如下:ColorDialog colorDlg=new ColorDialog();if(colorDlg.ShowDialog()=DialogResult.OK)textBox1.ForeColor=colorDlg.Color;,6.1.6 对话框
15、,自定义窗体对话框的设计方法与设计一般窗体基本相同,不同之处是还要对自定义窗体对话框作如下处理:将窗体的【FormBorderStyle】属性更改为“FixedDialog”。将窗体的【MaximizeBox】属性、【MinimizeBox】属性和【ControlBox】属性设置为“False”。在窗体上放一个“确定”按钮,一个“取消”按钮。然后将窗体的【AcceptButton】属性设置为“确定”按钮,【CancelButton】属性设置为“取消”按钮。在按钮事件中,设置DialogResult类型的返回值,以便让对话框隐藏起来。,6.1.6 对话框,【例6-4】自定义窗体对话框的用法。设计
16、视图如下:,运行效果如下:,6.2 控件共有的基本操作,6.2.1 控件中常用的属性和方法1.常用基本属性 除了书上讲的属性外,注意以下属性的用法:1)(Name):指定控件的名称,它是控件在当前应用程序中的唯一标识,代码通过该属性来访问控件2)Enabled:决定控件是否可用,取值为true时可用,取值为false时不可用3)Anchor属性:保持控件与边框的距离不变4)Dock属性:让控件始终紧靠边框,6.2.1 控件中常用的属性和方法,2.将窗体中控件的背景色设置为“Transparent”,则该控件相对于其父容器是透明的。【例6-5】将图像和文字叠加在同一幅背景图上,让其看起来像是一幅
17、图。,未设置BackColor属性时的设计界面 设置BackColor属性后的界面效果,6.2.1 控件中常用的属性和方法,3.按住键同时选中多个控件,然后利用“布局”快捷工具栏中的快捷方式可以快速让各控件对齐。4.利用布局工具栏中的“键顺序”按钮,可以在设计界面下调整焦点顺序。,6.2.2 控件的锚定和停靠,1Anchor属性【Anchor】属性定义控件的定位点位置。当控件锚定到某个窗体时,如果用户调整该窗体的大小,该控件将维持它与定位点位置之间的距离不变。2.Dock属性【Dock】属性的用途是使控件与窗体边缘对齐。此属性指定控件在窗体中的驻留位置。【Dock】属性设置为下列值:Left停
18、靠到窗体的左侧。Right停靠到窗体的右侧。Top停靠到窗体的顶部。Bottom停靠到窗体底部。Fill占据窗体中的所有剩余空间。None不在任何位置停靠,它显示在由Location属性指定的位置。,6.2.3 常用的鼠标事件和键盘事件,1.鼠标事件Click 单击鼠标左键时触发MouseDoubleClick 双击鼠标左键时触发MouseEnter 鼠标进入控件可见区域时触发MouseMove 鼠标在控件区域内移动时触发MouseLeave 鼠标离开控件可见区域时触发2.键盘事件KeyDown 按下键盘上某个键时触发KeyUp 释放键盘上的按键时触发KeyPress 在KeyDown之后Ke
19、yUp之前触发,非字符键不会触发该事件。,6.2.3 常用的鼠标事件和键盘事件,【例6-6】演示鼠标和键盘事件的触发条件,触发顺序,并显示各个事件所传递的参数内容。设计界面如下:,40,WinForms 中的常用控件 2-2,标签,按钮,组合框,列表框,文本框,41,标签,TextBox属性/方法,TextBox 控件允许用户在应用程序中输入文本。此控件具有标准 Windows 文本框控件所没有的附加功能,包括多行编辑和密码字符屏蔽。可以使用 Multiline 和 ScrollBars 属性,从而能够显示或输入多行文本。通过将 MaxLength 属性设置为一个特定的字符数,可以限制输入到
20、TextBox 控件中的文本数量。使用 PasswordChar 属性屏蔽在控件的单行版本中输入的字符。,43,文本框,44,按钮,45,列表框,46,使用列表框,private void frmUserAdd_Load(object sender,System.EventArgs e)this.lstCurrDeptName.Items.Add(软件部);this.lstCurrDeptName.Items.Add(硬件部);this.lstCurrDeptName.Items.Add(财务部);this.lstCurrDeptName.Items.Add(人事部);,private voi
21、d cmdOK_Click(object sender,System.EventArgs e)/注意SelectedIndex的值,第一个应该为0if(this.lstCurrDeptName.SelectedIndex=0)MessageBox.Show(this.lstCurrDeptName.Text+已经选择上.,当前选择的值);,47,组合框,48,使用组合框,private void frmUserAdd_Load(object sender,System.EventArgs e)this.cboDesig.Items.Add(总裁);this.cboDesig.Items.Add
22、(副总裁);this.cboDesig.Items.Add(首席执行官);this.cboDesig.Items.Add(经理);/默认的选择是产品部this.cboDesig.SelectedIndex=1;,private void cboDesig_SelectedIndexChanged(object sender,System.EventArgs e)MessageBox.Show(选择的是第“+(this.cboDesig.SelectedIndex+1).ToString(),选择的信息);MessageBox.Show(选择的职务是“+this.cboDesig.Text,选择
23、的信息);,49,消息框窗口 2-1,MessageBox.Show(“消息文本);,消息框用于显示消息,Abort,Cancel,Ignore,No,None,Ok,Retry 和 Yes,if(MessageBox.Show(“保存文件”,“保存,MessageBoxButtons.YesNo,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1)=DialogResult.Yes)/保存文件所用的代码/保存后的 MessageBox,50,消息框窗口 2-2,51,应用程序示例 3-1,解决方案资源管理器,属性窗口,工具箱,
24、52,应用程序示例 3-2,private void btnAdd_Click(object sender,System.EventArgs e),private void btnAdd_Click(object sender,System.EventArgs e)this.txtEmpName.Enabled=true;this.txtAddress.Enabled=true;this.cboDesignation.Enabled=true;this.lstCurrDeptName.Enabled=true;,private void btnCancel_Click(object sende
25、r,System.EventArgs e)this.txtEmpName.Text=;this.txtAddress.Text=;this.cboDesignation.Text=“经理;,private void btnExit_Click(object sender,System.EventArgs e)string str=;for(int ctr=0;ctr=this.lstCurrDeptName.SelectedItems.Count-1;ctr+)str+=n+this.lstCurrDeptName.SelectedItemsctr.ToString();MessageBox.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 窗体 控件 组件
链接地址:https://www.31ppt.com/p-5046551.html