《Window应用程序.ppt》由会员分享,可在线阅读,更多相关《Window应用程序.ppt(71页珍藏版)》请在三一办公上搜索。
1、Visual C#.NET 程序设计教程,第3 章 Windows程序华南农业大学 信息(软件)学院2011.2,第3章 Window应用程序开发,3.0 概述3.1 Windows常用控件3.2 Additional控件组3.3 菜单相关控件组3.4 对话框控件3.5 自定义控件,3.0 窗体与控件概述(组件控件),组件(Component)实现了接口System.ComponentModel.IComponent的类,或者是从该类或其他实现了IComponent接口的类派生的类。组件可以被重用,可以包含在容器。可以创建没有用户界面的组件,也可以创建具有用户界面的组件。,控件(Control
2、)具有用户界面的组件成为控件.控件类继承自System.ComponentModel.Component类.,返回本章首页,3.0 窗体与控件概述(类层次),.NET控件的类继承层次图(窗体控件)System.Windows.Forms.Control,Control,ScrollableControl,ContainerControl,Form,UserControl,WEB控件:System.Web.UI.Control,3.0 窗体与控件概述,Control类,对键盘和鼠标操作进行响应,处理消息路由和安全,定义控件的边界(位置和大小),控制对象的基本外观,如默认字体和背景颜色等,是屏幕上
3、具有可视化外观的所有组件的父类。ScrollableControl类,添加了滚动的功能。ContainerControl类,实现了作为容器的能力。Form类,具备容器功能,滚动功能,Control类功能。并添加了和屏幕窗口相关的一些功能,比如标题栏和系统菜单。为了程序而创建的每个Windows窗体,都是基于Form类的。UserControl类,基本同Form类,用户创建的自定义组件就基于该类。,常用属性窗体外观窗体尺寸和位置其他属性,3.0.1 窗体属性、事件、方法,FormBorderStyle,BackColor,ForeColor,Font,Cursor,Text,BackGround
4、Image,Opacity,Height,Width,Left,TopLocation,StartPosition,WindowState,Toplevel,TopMost,3.0.1 窗体常见事件表,3.0.1 窗体的主要事件顺序,OnLoad事件,窗体的加载,show,设置窗体是否可见,OnPaint,窗体绘制(显示)在屏幕,Actived,窗体激活成为当前窗体,OnResize,改变大小;OnMove,移动窗体,Click,点击事件,FormClosing,3.0.1 窗体常见方法表,3.0.1 窗体的其他,窗体的坐标体系Locationthis.Location=new Point(3
5、00,350);this.Size=new Size(200,150);Docklabel.Dock=DockStyle.None;启动窗体的设置包含Main主函数的窗体,Program.cs,返回本章首页,3.0.1 窗体的其他,SDI窗体与MDI窗体isMdiContainer(将主窗体的该属性设为true)在主窗体中生成并显示子窗体;MdiChildForm childFrm=new MdiChildForm();childFrm.MdiParent=this;childFrm.Show();,1可视化组件(Visual Component)可视化组件在程序运行期间用户是可以看到的,也称
6、为控件(Control)。2非可视化组件(NonVisual Component)非可视化组件是指在程序运行期间用户是不可以看到的。,3.0.2 组件分类,3.0.2 控件通用属性,NameAnchorDock基本外观属性Tag,object数据类型,常用来存储与控件密切关联的数据ContextMenu,上下文菜单Tabindex和Tabstop属性Show和Hide方法,FormBorderStyle,BackColor,ForeColor,Font,cursor,text,BackGroundImage,3.0.2 控件事件的参数说明,常见参数两个sender参数:object类型,触发事
7、件的对象。e参数:包含事件相关数据的对象,private void Button3_Click(object sender,System.EventArgs e)MessageBox.Show(“你按了button3按钮”);,返回本章首页,3.1 Windows常用控件,1 Label2 LinkLabel3 TextBox4 Button5 ListBox6 ComboBox7 CheckedListbox8 CheckBox,9 Panel面板10 GroupBox11 RadioButton 12 DomainUpdown13 NumerUpdown14 MaskedTextBox 1
8、5 ErrorProvider16 Timer,返回本章首页,17 Splitter18 TabControl19 TrackBar20 ProgressBar21 DatetimePicker 22 MonthCalendar 23 TreeView24 Listview25 RichTextBox,计算机科学与工程系,3.1.1 标签 Label,标签常用于显示静态文本信息,显示的文本运行时不能编辑。标签的常见属性如下:Text:用于设置标签的标题,即标签的显示内容。Anchor:固定关系Autosize:布尔类型,指示是否自动调整控件的大小以完整显示其内容。BorderStyle:设置或
9、返回边框。Visible:是否可见.,返回本节,3.1.2 链接标签控件LinkLabel,常用属性Text,显示文本Linkcolor,未发生链接前颜色Linkvisited,设置是否将已链接的文本变色Visitedlinkcolor,访问后文本颜色Linkbehavior,设置是否要加下划线Linkarea,设置文本链接的范围,返回本节,3.1.3 TextBox编辑框(1),编辑框用来输入文本,既可单行,也可多行编辑框的常用属性有:Text:编辑框的内容,字符串类型MaxLength、PasswordChar、ReadOnlySelectionText、SelectionLength、S
10、electionStartModified、Textlength、WordWrapMultilines,ScrollBars,编辑框控件的常用事件如下:Enter事件,GetFocus,文本框接受焦点时发生.Leave事件,LostFocus,文本框失去焦点时发生.TextChanged事件,在Text属性值更改时发生。无论是通过编程还是通过用户交互更改文本框的Text属性值,均会引发此事件。Validating事件,焦点离开控件时会自动验证该控件;,3.1.3 TextBox编辑框(2),编辑框控件的常用方法如下:ClearCopy、Cut、Paste、Undo、ClearUndoFocus
11、Select,SelectAll,返回本节,3.1.3 TextBox编辑框(3),3.1.4 Button基本命令按钮,表3-1 按钮的主要属性,按钮属性设置Button1.Image=Image.Fromfile(“c:clouds.bmp”);Button1.Flatstyle=Flatstyle.Flat;按钮与Enter和Esc结合多个按钮共享统一事件button5.Click+=new EventHandler(button2_Click);设计时指定事件按钮的PerformClick方法,返回本节,3.1.4 Button命令按钮(2),3.1.5 列表框 Listbox,列表框
12、控件的常用属性有:Items:Collection类型SelectedItem,当前选择项SelectedIndex,当前项的索引(int,无选择项时为-1)ColumnWidth,Multicolumn,SelectionMode:,返回本节,one,只能选择一项;MultiExtented,支持shift,ctrl的使用来选择多项 MultiSimple,鼠标单击或空格键来选择/取消,3.1.5 Listbox(2)-常用方法,Items.Add,项的单个增加;AddRange,量增加Items.Insert(n,s),第n项处插入sItems.Clear,清除项Items.Remove/
13、Items.RemoveAt,Items.Count,项的统计Items.SetSelected(n,true),选中第n项Items.FindString(s)/items.FindString(s,n),查找字符串,返回本节,3.1.5 Listbox(3)-常见事件,列表框控件的常用事件有:Click,单击事件SelectedIndexChanged,选择项改变事件,返回本节,3.1.6 组合框 ComboBox,组合框的常用属性有:基本同ListBoxDropDownStyle,三种类型Simple,文本框可以编辑。含有这些项的列表始终是可见的;DropDown,文本部分是可以编辑的。
14、用户必须单击箭头按钮以显示列表部分;DropDownList,用户不能编辑文本部分,只能选择列表中的一个值。用户必须单击箭头按钮才能显示列表部分。,返回本节,3.1.6 组合框 ComboBox(续),Text属性:comboBox1.Text=comboBox1.Items1.ToString();comboBox1.SelectedIndex=1;SelectedIndexChange事件,返回本节,3.1.7 CheckedListbox,见帮助和范例,返回本节,3.1.8 复选框Checkbox,复选框,复选框的几个主要属性:Checked:Boolean数据类型,表示是否被选择。Ap
15、pearance:确定复选框显示为复选框还是显示为按钮式。CheckState:选择状态 复选框的主要事件:Click事件和CheckedChanged事件,返回本节,3.1.8 复选框CheckBox,3.1.9 Panel面板,面板控件的常用属性,Panel控件的Dock属性;Panel的Enabled属性为false时,禁用所包含的控件;Panel控件默认无边框;Panel可以有滚动条;,返回本节,3.1.10 GroupBox分组框,GroupBox有标题,但没有滚动条功能,返回本节,3.1.11 单选按钮radiobutton,图3-5 单选按钮实例,返回本节,主要属性和事件同Che
16、ckBox控件,3.1.12 DomainUpdown,返回本节,作用:从设定的项中按上下按钮来选择其中一个选项。Text属性SelectedIndex,SelectedItemItem,项的集合TextAlign,文本的对齐方式 UpdownAlign,上下按钮放置的位置,3.1.13 NumericUpdown,返回本节,Value属性Maximum,Minimum属性Increment属性,步长DecimalPlaces属性,设置小数位数UpButton方法,增加一个IncrementDownButton方法,减少一个Increment示例:Label1.text=NumericUpdo
17、wn.Value.ToString();NumericUpdown.UpButton();,3.1.14 MaskedTextBox,MaskedTextBox,掩码编辑框Mask,掩码格式0,9:输入数字,0-必须输入,9-可空L,?:输入字母,L-必须输入,?-可空A,a:字母数字,可空#,&,C,等PromptChar,占位符TextMaskFormat,从Text属性中返回字符的格式,返回本节,补充说明:(1)由于汉字占两个字节,所以用于控制输入中文的掩码字符也必须有两个,如LL,ll。(2)表中没有列出的一般字符都会被显示出来,输入时这些字符将会自动跳过。(3)TextMaskFor
18、mat用来指定用户输入的数据内容。如:只包含用户输入的字符,包含掩码字符串中自动显示的字符等。,返回本节,3.1.14 MaskedTextBox说明,3.1.15 ErrorProvider控件,返回本节,主要功能:验证控件主要方法:SetError见帮助和范例,3.1.16 记时器Timer,Enabled属性表示了计时器打开还是关闭;Interval属性设置间隔,单位是毫秒,也即千分之一秒。置为0相当于关闭计时器;主要事件:Tick注意:尽管C#.NET的计时器每秒可以产生1000次激发,在编程中还必须注意程序对计时器激发的响应。如果程序处理Tick事件的时间超过Interval的设定值
19、,就可能错过事件,因为当下一次激发到来时,系统正忙于处理上一事件,则这次激发就会被忽略。同时要注意其它的Windows应用程序是否会影响计时器的触发。如果后台正运行着一个占用处理器的程序,就可能会导致Timer的触发不准确,从而使前台程序运行出现错误。,返回本节,3.1.17 Splitter控件,分隔器控件左右分隔:左panel的对齐方式:left Splitter:left 右panel的对齐方式:fill见范例,返回本节,3.1.18 TabControl,TabControl是一个标签集合,外观看起来象书签。使用TabControl可以在窗体上设置一个多标签的控件。主要属性:TabPa
20、ges:页面的集合 HotTrack:bool,决定当鼠标移到标签上时是否以高亮度显示。MultiLine:bool,决定标签是否可以多行显示。Appearance:决定TabControl的外观:Normal,Buttons,FlatButtons,SelectedIndex:Integer,指出当前选中标签的下标。(0至Count-1)TabHeight,TabWidth:Samallint。以pixel为单位。TabPosition:标签位置。(tpTop,tpBottom,tpLeft,tpRight)为Left或Right时,MultiLine必有为True。事件:OnChange:
21、当一个新的标签选中后发生。OnChanging:在一个新的标签选中前立即发生。通常用于阻止改变标签。,返回本节,3.1.18 TabControl 续,3.1.19 TrackBar,Maximum/Minimum,最大/最小值Orientation,水平或垂直LargeChange/SmallChange 最大或最小变化值TrackStyle,风格设置Scroll,事件见范例,返回本节,3.1.20 ProgressBar,返回本节,Maximum/Minimum,最大/最小值Step,步长Value,当前值Style,风格:Blocks,Continuous,MarqueeScroll,事
22、件见范例,3.1.21 DateTimePicker,日期日历控件MaxDate/MinDate,最大/最小值ShowCheckBox,日期前面是否出现复选框ShowUpDown,是以下拉按钮方式还是使用上下按钮Value,用来设置和获取当前日期/时间值,返回本节,3.1.22 MonthCanlendar,返回本节,月历控件 FirstDayOfWeekMaxDate/MinDateShowToday/ShowTodayCircleTodayDateSetDate,3.1.23 TreeView,主要操作:节点文件的load,save,节点的增加、删除主要属性:Nodes:节点集合Check
23、boxesImageindexShowlines,ShowPlusMinus,showRootLineSorted,返回本节,3.1.24 ListView,主要属性 items:Collection Columns:Collection View:视图方式见范例,返回本节,3.1.25 RichTextBox,RichTextbox 默认编辑文件是丰富文本格式(RTF,Rich Text Fomat)的文档,也可以编辑纯文本文件。主要属性和方法Rtf 属性:所含带格式文档内容SelectedText,SelectedRtfZoomFactorrichTextBox.LoadFile(“”,格
24、式)richTextBox.SaveFile(“”,格式),下一页,3.1.25 RichTextbox续(2),主要属性和方法Copy,cut,pasteHideselection,焦点转移时是否隐藏焦点Selectionfont,当前选择文本的字体,当选择包括多个字体的文本块时,返回空SelectionAlignment,对齐方式SelectionColor,返回本节,3.1.25 RichTextbox续(3),主要事件:TextChanged事件SelectionChanged事件 在RichTextBox中选择或单击鼠标(没有选择)时都会发生;判断是否有无选择字符串:Selectio
25、nLength SelectionFont为Null不意味着没有选择,返回本节,3.2 Additional控件组,3.2.1 Picturebox,返回本章首页,计算机科学与工程系,3.2.1 PictureBox控件,通常用来显示位图、元文件、图标、JPEG、GIF或PNG文件中的图形。PictureBox控件的常用属性:Image、SizeMode 示例Picturebox1.Image=new Bitmap(“c:setup.bmp”)(Bitmap类支持bmp,gif,jpeg,png或TIFF格式图片)Picturebox1.Image.Fromfile(“c:setup.bmp”
26、),3.2.1 PictureBox控件,SizeMode:AutoSize,调整控件大小以适应图片;CenterImage,控件与图片的中心对齐;Normal,图片置于控件左上角;StretchImage,图片调整大小以适应控件;Zoom,图片按比例拉伸,可以在PictureBox的Graphics上画图;实际在PictureBox的Graphics属性不管描绘什么,都不会在Image属性中被反映。示例代码:myBitmap=new Bitmap(450,350);g=pictureBox1.CreateGraphics();g.Clear(this.BackColor);g.DrawIma
27、ge(myBitmap,0,0,x,height);g.Dispose();,3.2.1 PictureBox控件,返回本节,3.3 菜单相关控件,3.3.1 MenuStrip3.3.2 ContextMenuStrip3.3.3 ToolStrip3.3.4 ImageList3.3.5 StatusStrip,返回本章首页,计算机科学与工程系,3.3.1 MenuStrip菜单,(1)增加菜单项(ToolStripMenuItem)(2)删除菜单项(Add)(3)插入菜单项(Delete)(4)增加分隔条(Split)(5)定义加速键和快捷键(6)调整菜单位置(7)创建子菜单(8)MDI
28、菜单(菜单合并,窗口列表菜单),返回本节,3.3.2 ContextMenuStrip菜单,上下文菜单,即右键弹出菜单可以设置控件或窗体的 ConTextMenu设置窗体的ContextMenu:选中Form对象后转换到属性页,并单击“ContextMenuStrip”右边的空白框,选中设计完的弹出型菜单名称,最后运行程序即可。,图3-24 激活的弹出式菜单,返回本节,3.3.3 ToolStrip工具栏,主要属性 Items,内容 Appearance,外观 Buttons,按钮集合 ImageList,图片列表控件 主要事件:Click,返回本节,ToolStripButton主要属性:D
29、isplayStyle,显示图片和文本的方式;Checked,是否选中;Text,按钮上的文本;ToolTipText,提示内容;,按钮类,标签,分隔条,组合框,文本框,3.3.4 ImageList,ImageList 是一个具有相同大小的图像的集合。每个图像用它的下标来访问。下标的范围是0至N-1。图像的类型可以是Bmp和Icon。设计时向 Image list 添加一幅图,右击控件并选择 Image List Editor。一般用ImageList为其它允许使用图的控件提供图像。方法是将作用图像的控件的ImageList属性指定为包含的图像列表。,返回本节,3.3.5 StatusStr
30、ip 状态栏,主要属性ItemsStatusLabelTextAllowItemReorder,返回本节,BorderSides,边框DisplayStyle,图像与文本的显示Spring属性,是否填充TextAlign,文本的排列方式,Label,ProgressBar,DropDownButton,SplitButton,3.4 公共对话框控件,3.4.1 对话框函数3.4.2 公共对话框,返回本章首页,3.4.1 MessageBox,返回本节,主要参数:1,Title,对话框的标题 2,Message,提示内容 3,MessageBoxButtons,按钮选项 4,MessageBox
31、Icon,按钮提示图标主要方法:MessageBox.Show();返回结果:DialogResult的成员及含义,3.4.2 公共对话框,文件打开,OpenFileDialog;文件保存,SaveFileDialog;字 体,FontDialog;颜 色,ColorDialog;打 印,PrintDialog;打印设置,PrintsetupDialog;查 找,FindDialog;替 换,ReplaceDialog等部件。,返回本节,OpenFileDialog(文件对话框),模式打开(OpenDialog.ShowDialog),OpenFileDialog(文件对话框),属性及用法Fi
32、leName/FileNamesFilter,FilterIndexinitialDirectory=Application.StartPath 初始路径RestoreDirectory=true 自动恢复初始目录MultiSelect注意,该对话框只是选择文件名,而没有真正打开文件,返回本节,SaveFileDialog(保存对话框),模式打开(SaveFileDialog.ShowDialog)模式返回结果:DialogResult.OK/DialogResult.Cancel属性及用法FileNameFilter,FilterIndexRestoreDirectoryOpenFile,打
33、开用户选定的具有读/写权限的文件,返回本节,FontDialog(字体对话框),模式打开方法ShowDialog一般用法Label1.Font=fontDialog1.Font;Label1.Font=new Font();请参考Font帮助,返回本节,ColorDialog(颜色对话框),模式打开ShowDialog一般用法Label1.Forecolor=colorDialog1.Color;Label1.Forecolor=Color.Red;Label1.Forecolor=Color.FromName(“Red”);,返回本节,3.5 自定义控件,新建 从Control类派生自己的控件类,Control类具备窗体控件最基本的功能,但没有提供绘制控件的功能。在原有控件基础上创建组合法:将现有的几个控件组合成一个新控件。派生法:对现有的某个控件进行改进。,返回本章首页,THE END,结束放映,返回本章首页,本章结束,