1、2022-8-8Visual C#.Net程序设计1Visual C#.Net程序设计Visual C#.Net程序设计22022-8-8第七章 Windows程序的窗体设计技术n7.1 窗体与控件概述 n7.2 按钮、标签与文件框控件 n7.3 选择控件n7.4容器控件n7.5 PictureBox控件n7.6 菜单、工具栏和状态栏n7.7对话框n7.8 SDI和MDI应用程序Visual C#.Net程序设计32022-8-87.1 窗体与控件 n一、Windows窗体n二、窗体的控件 Visual C#.Net程序设计42022-8-8一、Windows窗体n1.Windows窗体Win
2、dows窗体是使用C#来建立基于窗口应用程序的出发点。不过,从窗体本身来看,它只是一个可移动的界面而已。虽然用户可以直接在窗体上绘制对象和文本,但是窗体的真正作用是充当Windows控件的容器。n2.Windows窗体命名空间Windows窗体的基类是Form,在System.Windows.Forms命名空间中定义.NET中的大多数控件都派生于System.Windows.Forms.Control类,该类定义了控件的基本功能。Visual C#.Net程序设计52022-8-83.窗体的主要属性Visual C#.Net程序设计62022-8-8二、窗体的控件n1.NET Framewor
3、k中的窗体控件n2.控件的属性 Visual C#.Net程序设计72022-8-81.NET Framework中的窗体控件n数据显示DataGridViewn数据绑定和定位BindingSource、BindingNavigatorn文本编辑TextBox、RichTextBox、MaskedTextBoxn信息显示Lable、StatusStrip、ProgressBarn网页显示WebBrowsern列表与选择 CheckBox、CheckedListBox、ComboBox、RadioButton、ListBox、ListView、NumericUpDown、TreeView、Dom
4、ainUpDown、TrackBar、n图形显示PictureBox、ImageListn日期设置DateTimePicker、MonthCalendarn对话框ColorDialog、FontDialog、OpenFileDialog、PrintDialog、PrintPreviewDialog、FolderBrowerDialog、SaveFileDialogn命令 Button、LinkLabel、NotifyIcon、ToolStripn菜单 MenuStrip、ContextMenuStripn用户帮助HelpProvider、ToolTripn将其他控件分组Panel、GroupB
5、ox、TabControl、SplitContainer、TableLayoutPanel、FlowLayoutPaneVisual C#.Net程序设计82022-8-82.控件的属性属性名称说明Anchor获取或设置控件绑定到的容器的边缘并确定控件如何随其父级一起调整大小BackColor 控件的背景色Bottom 控件下边缘与其容器的工作区上边缘之间的距离(单位:像素)Dock 获取或设置控件边框停靠到其父控件并确定控件如何随其父级一起调整大小Enabled控件是否可以对用户交互作出响应ForeColor控件的前景色Height 控件的高度Left控件左边缘与其容器的工作区左边缘之间的距
6、离(单位:像素)Location控件的左上角相对于其容器的左上角的坐标。Visual C#.Net程序设计92022-8-8控件的属性(续)Name控件的名称,这个名称可以在代码中用于引用该控件。Parent控件的父容器Right控件右边缘与其容器的工作区左边缘之间的距离(单位:像素)Size控件的高度和宽度TabIndex控件的 Tab 键顺序TabStop指示用户能否使用 Tab 键将焦点放到该控件上。Text与此控件关联的文本Top控件上边缘与其容器的工作区上边缘之间的距离(单位:像素)Visible指示是否显示该控件Width控件的宽度Visual C#.Net程序设计102022-8
7、-87.2 按钮、标签与文件框控件n一、按钮控件 n二、标签控件 n三、文本框控件n四、用户登录实例 Visual C#.Net程序设计112022-8-8一、按钮控件n1.常见属性Name:用于设置对象的名称,以便在代码中引用。Text:以文本形式显示在按钮上的标题文字。如果要设置快捷键,则在快捷键字母前面加上一个“&”字符Visible:决定该按钮是否可见 Enabled:决定该按钮是否有效 FlatStyle:决定该按钮的样式,值为FlatStyle枚举型Image:指定一个在按钮上显示的图像 ImageAlign:设置图像在按钮上的对齐方式 Visual C#.Net程序设计12202
8、2-8-8n2.设置属性的值方法1:在程序设计阶段,在控件的“属性”窗口中直接修改相关的属性值;方法2:用程序代码修改属性 注意:各种控件对象的Name属性只能通过“属性”窗口更改,该属性在设计时有效,运行时为只读。Visual C#.Net程序设计132022-8-8二、标签控件n1.作用:主要用于在窗体上显示文本 n2.控件名:Label:标准的Windows标签;LinkLabel:类似于Label,但以超链接方式显示 Visual C#.Net程序设计142022-8-83.标签控件的常用属性属性名称说明BorderStyle控件的边框样式,默认为无边框FlatStyle设置平面样式外
9、观。如果设置为PopUp,表示平面样式,当指向它时,控件显示为弹起样式。Image 显示在 Label 上的图像ImageAlign 控件中显示的图像的对齐方式LinkArea文本中显示为链接的范围(只用于LinkLabel)LinkColor显示普通链接时使用的颜色(只用于LinkLabel)Links获取包含在 LinkLabel 内的链接的集合(只用于LinkLabel)LinkVisited是否为被访问过的链接(只用于LinkLabel)TextAlign 标签中文本的对齐方式VisitedLinkColor显示以前访问过的链接时所使用的颜色(只用于LinkLabel)Visual C
10、#.Net程序设计152022-8-8三、文本框控件 n1.TextBox控件 n2.RichTextBox控件Visual C#.Net程序设计162022-8-81.TextBox控件 n(1)TextBox常见的属性 属性名称说明CausesValidation 是否验证用户输入的有效性CharacterCasing是否在字符键入时修改其大小写格式MaxLength 设置能输入的最大字符数,如果=0,则不受限制Multiline 是否可以显示多行文本PasswordChar设置密码显示字符ReadOnly 文本是否为只读ScrollBars获取或设置哪些滚动条应出现在多行 TextBox
11、 控件中SelectedText 表示当前选定的文本SelectionLength 当前选定的字符数SelectionStart 当前选定的文本起始点Text当前文本WordWrap 是否自动换行Visual C#.Net程序设计172022-8-8(2)TextBox常用事件 事件名称说明Enter 进入控件时发生这4个事件按列出的顺序触发,它们被称为“焦点事件”,当控件的焦点改变时触发,但Validating和Validated仅在控件接收了焦点且其CausesValidation设置为true时实被触发Leave 在输入焦点离开控件时发生Validating 在控件正在验证时发生Vali
12、dated 在控件完成验证时发生KeyDown 这3个事件统称为“键事件”,用于监视和改变输入到控件中内容,KeyDown和KeyUp 接收与所按下键对应的键码,可以来确定是否按下了特殊键,如Shift、Ctrl或F1。KeyPress接收与键对应的字符KeyPressKeyUp TextChanged 只要文本框中的文本发生了改变,就会触发该事件Visual C#.Net程序设计182022-8-82.RichTextBox控件 n常用属性 属性名称说明CanRedo 指示在 RichTextBox 内发生的操作中是否有可以重新应用CanUndo 指示用户在文本框控件中能否撤消前一操作Det
13、ectUrls 当在控件中键入某个URL时,RichTextBox 是否自动设置 URL 的格式Rtf 与Text属性相类似,但可包括RTF 格式的文本SelectedRtf获取或设置控件中当前选择的 RTF 格式的格式化文本SelectedText获取或设置 RichTextBox 内的选定文本SelectionAlignment选定内容或插入点的对齐方式,可以取值为Cente、Left或RightVisual C#.Net程序设计192022-8-8RichBoxText常用属性(续)SelectionBullet 指示项目符号样式是否应用到当前选定内容或插入点BulletIndent 指
14、定项目符号的缩进像素值SelectionColor 获取或设置当前选定文本或插入点的文本颜色SelectionFont获取或设置当前选定文本或插入点的字体SelectionLength 获取或设置控件中选定的字符数ShowSelectionMargin如果把这个属性设置为true,在RichTextBox左边就会出现一个页边距,方便选择文本UndoActionName获取调用 Undo方法后在控件中可撤消的操作名称SelectionProtected把这个属性设置设置为true,可以指定不修改文本的某些部份Visual C#.Net程序设计202022-8-8四、应用实例:用户登录 n【实例7
15、-1】设计一个简单的用户登录界面,当输入正确的用户名和密码时,系统将给出正确的提示,否则给出错误提示。n实例7-1源代码阅读(见教材)n操作演示n代码分析Visual C#.Net程序设计212022-8-87.3 选择控件 n一、RadioButton控件 n二、CheckBox控件 n三、ListBox控件 n四、ComboBox控件 n五、应用实例:添加学生信息 Visual C#.Net程序设计222022-8-8一、RadioButton控件 n单选按钮RadioButton 控件为用户提供由两个或多个互斥选项组成的选项集。用户在一组单选按钮中,只能选择一个。nRadioButton
16、控件的属性 属性名称属性名称说明说明Appearance获取或设置一个值,该值用于确定获取或设置一个值,该值用于确定 RadioButton 的外观。的外观。可选值:可选值:Normal和和Button。每种类型都可显示文本或图像,或同时显示两者。每种类型都可显示文本或图像,或同时显示两者。选择选择Normal后的外观:后的外观:。选择。选择Button后的外观:后的外观:AutoCheck如果这个属性为如果这个属性为true,用户单击单选按钮时,会显示一个选中标记。如果该属,用户单击单选按钮时,会显示一个选中标记。如果该属性为性为false,就必须在,就必须在Click事件处理程序的代码中手
17、工检查单选按钮事件处理程序的代码中手工检查单选按钮CheckAlign改变单选按钮的复选框的对齐形式,值可为枚举改变单选按钮的复选框的对齐形式,值可为枚举ContentAlignment 有效值之有效值之一。默认值为一。默认值为 MiddleLeft,意为内容在垂直方向上中间对齐,在水平方向上,意为内容在垂直方向上中间对齐,在水平方向上左边对齐左边对齐Checked获取或设置一个值,该值指示是否已选中控件。如果选中控件,它就是获取或设置一个值,该值指示是否已选中控件。如果选中控件,它就是true,否则为否则为falseVisual C#.Net程序设计232022-8-8一、RadioButt
18、on控件 nRadioButton控件的属性 事件名称事件名称说明说明CheckChanged当当 单选按钮的选中选项改变时发生单选按钮的选中选项改变时发生Click每次单击单选按钮时,都会引发该事件。这与每次单击单选按钮时,都会引发该事件。这与CheckChanged事件不同,因为连续单击单选按钮事件不同,因为连续单击单选按钮两次或多次只改变两次或多次只改变checked属性一次,且只改变以属性一次,且只改变以前未选中的控件的前未选中的控件的Checked属性,这是只会在首次属性,这是只会在首次单击该选项地触发单击该选项地触发CheckChanged事件。如果被单事件。如果被单击按钮的击按钮
19、的AutoCheck属性是属性是false,则该按钮根本不,则该按钮根本不会被选中,只会触发会被选中,只会触发Click事件,不会触发事件,不会触发CheckChanged事件事件Visual C#.Net程序设计242022-8-8二、CheckBox控件 n复选框CheckBox控件列出了可供用户选择的选项,用户根据需要可以从中选择一项或多项。当某一个选择被选中后,其左边的小方框会打下一个勾。nCheckBox控件的属性 属性名称属性名称说明说明CheckState获取或设置获取或设置 CheckBox 的状态。可选值:的状态。可选值:Checked、Unchecked和和Indeterm
20、inate。复选框的形状是。复选框的形状是Indeterminate时,控件旁边的复选框通常是时,控件旁边的复选框通常是灰色的,表示复选框的当前值无效,例如:如果选中标识表示文件的只读状灰色的,表示复选框的当前值无效,例如:如果选中标识表示文件的只读状态,且选中了两个文件,其中一个只读,另一个不是,则该复选框取值无效。态,且选中了两个文件,其中一个只读,另一个不是,则该复选框取值无效。选择选择Indeterminate后的外观:后的外观:。ThreeState确定该控件是支持两种状态还是三种状态。使用确定该控件是支持两种状态还是三种状态。使用 Checked 属性可以获取或设属性可以获取或设置
21、具有两种状态的置具有两种状态的 CheckBox 控件的值,而使用控件的值,而使用 CheckState 属性可以获取或属性可以获取或设置具有三种状态的设置具有三种状态的 CheckBox 控件的值。当该属性取值为控件的值。当该属性取值为False时,用户不时,用户不能把能把CheckState属性改为属性改为Indeterminate,但仍可以在代码中改为,但仍可以在代码中改为IndeterminateVisual C#.Net程序设计252022-8-8二、CheckBox控件 nCheckBox控件的事件 事件名称事件名称说明说明CheckChanged当复选框的当复选框的Checked
22、属性改变时,就引发该事属性改变时,就引发该事件。注意在复选框中,当件。注意在复选框中,当ThreeState属性为属性为true时,单击复选框不会改变时,单击复选框不会改变Checked属性。属性。在复选框从在复选框从Checked变为变为Indeterminate状态时,状态时,就会出现这种情况就会出现这种情况CheckStateChanged当当CheckState属性改变时,就引发该事件,属性改变时,就引发该事件,CheckState属性的值可以是属性的值可以是Checked、Unchecked和和IndeterminateVisual C#.Net程序设计262022-8-8三、Lis
23、tBox控件 n列表框ListBox控件用于显示一组字符串,可以从中选择一个或多个选项。与复选框和单选按钮一样,列表框也提供了要求用户选择一个或多个选项的方式。nListBox控件的属性 属性名称属性名称说明说明SelectedIndex该值表示列表框中选项的索引(索引从该值表示列表框中选项的索引(索引从0开始)。如果列表框可以一次选择多个选项,这个属性开始)。如果列表框可以一次选择多个选项,这个属性就表示选中列表中的第一个选项就表示选中列表中的第一个选项ColumnWidth在包含多个列的列表框中,指定列的宽度在包含多个列的列表框中,指定列的宽度ItemsItems集合包含列表框中的所有选项
24、,集合包含列表框中的所有选项,使用这个集合的属性可以增加和删除选项使用这个集合的属性可以增加和删除选项MultiColumn列表框可以有多个列。使用这个属性可以获取或设置列表框中列的个数列表框可以有多个列。使用这个属性可以获取或设置列表框中列的个数SelectedIndies这个属性是个集合,这个属性是个集合,包含列表框中选中选项的所有索引包含列表框中选中选项的所有索引SelectedItem在只能选择一个选项的列表框中,这个属性包含选中的选项。在可以选择多个选的列表框中,在只能选择一个选项的列表框中,这个属性包含选中的选项。在可以选择多个选的列表框中,这个属性包含选中项中的第一个选项这个属性
25、包含选中项中的第一个选项SelectedItems这个属性是个集合,这个属性是个集合,包含当前选中的所有选项包含当前选中的所有选项SelectionMode在列表框中。可以使用在列表框中。可以使用ListSelecttionMode枚举中的枚举中的4种选择模式:种选择模式:None:不能选择任何选项:不能选择任何选项One:一次只能选择一个选项:一次只能选择一个选项MnltiSimple:可以选择多个选项,使用这个模式,在单击列表中的一项时,该项就会被选:可以选择多个选项,使用这个模式,在单击列表中的一项时,该项就会被选中,即使单击另一项,该项也仍保持选中状态,除非再次单击它中,即使单击另一项
26、,该项也仍保持选中状态,除非再次单击它MnltiExtended:可以选择多个选项,用户还可以使用:可以选择多个选项,用户还可以使用Ctrl、Shift和箭头键进行选择。它与和箭头键进行选择。它与MnltiSimple不同,如果先单击一项,然后单击另一项,则只选中第二个单击的项不同,如果先单击一项,然后单击另一项,则只选中第二个单击的项Sorted把这个属性设置为把这个属性设置为true,会使列表框对它包含的选项按照字母顺序排序,会使列表框对它包含的选项按照字母顺序排序Text和其它控件的和其它控件的Text属性不大相同,如果设置列表框控件的属性不大相同,如果设置列表框控件的Text属性,它将
27、搜索匹配该文本的选项,属性,它将搜索匹配该文本的选项,并选择该选项,如果获取并选择该选项,如果获取Text属性,返回的值是列表中第一个选中的选项。如果属性,返回的值是列表中第一个选中的选项。如果SelectionMode是是Node,就不能使用这个属性,就不能使用这个属性Visual C#.Net程序设计272022-8-8三、ListBox控件 nListBox控件的常用方法 方法名称方法名称说明说明ClearSelected清除清除 ListBox控件中的所有选项控件中的所有选项FindString查找查找 ListBox控件中以指定字符串开始的第一个控件中以指定字符串开始的第一个项项Fi
28、ndStringExact查找查找 ListBox控件中第一个精确匹配指定字符串控件中第一个精确匹配指定字符串的项的项GetSelected返回一个值,该值指示是否选定了指定的项返回一个值,该值指示是否选定了指定的项SetSelected选择或清除对选择或清除对 ListBox控件中指定项的选定控件中指定项的选定ToString返回返回 ListBox 的字符串表示形式的字符串表示形式Visual C#.Net程序设计282022-8-8三、ListBox控件 nListBox控件的常用事件 事件名称事件名称说明说明SelectedIndexChanged在选中选项的索引改变时引发该事件在选中
29、选项的索引改变时引发该事件Visual C#.Net程序设计292022-8-8四、ComboBox控件 n组合框ComboBox控件,它是把文本框控件和列表框组合在一起,使用户可以从列表中选择项,也可以输入新文本。Visible属性决定该按钮是否可见,属性值为true时可见,为false时隐藏。nComboBox 的默认行为是显示一个可编辑文本框,该文本框具有一个隐藏的下拉列表。nDropDownStyle 属性确定要显示的组合框的样式。该值提供以下选项:Simple,简单的下拉列表,始终显示列表、下拉列表框;DropDownList,文本部分不可编辑,并且必须点击箭头才能查看下拉列表;Dr
30、opDown,默认下拉列表框,文本部分可编辑,并且用户必须按箭头键才能查看列表。Visual C#.Net程序设计302022-8-8五、应用实例:添加学生信息 n【实例7-2】在项目MySchool中添加一个窗体,实现如图7-12所示的效果,用于添加学生的个人信息。n实例7-2源代码阅读(见教材)n操作演示n代码分析Visual C#.Net程序设计312022-8-87.4 容器控件 n一、GroupBox控件 n二、Panel控件 n三、TabControl控件 n四、应用实例:添加课程信息Visual C#.Net程序设计322022-8-8一、GroupBox控件 nGroupBox
31、 控件用于为其他控件提供可识别的分组。n在窗体上创建GroupBox控件及其内部控件时,必须先建立GroupBox控件,然后在其内建立各种控件。Visual C#.Net程序设计332022-8-8二、Panel控件 nPanel 控件类似于GroupBox 控件nPanel 控件可以有滚动条 n若要显示滚动条,需将 AutoScroll 属性设置为 true n可以通过设置 BackColor、BackgroundImage 和 BorderStyle 属性自定义面板的外观 Visual C#.Net程序设计342022-8-8三、TabControl控件 nTabControl 显示多个选
32、项卡 n选项卡中可包含图片和其他控件。nTabControl控件的常用属性 属性名称属性名称说明说明Alignment控制选项卡在控件中的显示位置,默认为控件的顶部控制选项卡在控件中的显示位置,默认为控件的顶部Appearance控制选项卡的显示方式,选项卡可以显示为一般的按钮或带有平面的样式控制选项卡的显示方式,选项卡可以显示为一般的按钮或带有平面的样式HotTrack如为如为true,则当鼠标指针移过控件上的选项卡时,其外观就会改变,则当鼠标指针移过控件上的选项卡时,其外观就会改变Multiline如为如为true,则可以以多行显示选项卡,则可以以多行显示选项卡RowCount返回当前显示
33、的选项卡行数返回当前显示的选项卡行数SelectedItem获取或设置当前选定的选项卡页的索引获取或设置当前选定的选项卡页的索引SelectedTab获取或设置当前选定的选项卡页,该属性在获取或设置当前选定的选项卡页,该属性在TabPages的实例上使用的实例上使用TabCount获取选项卡条中选项卡的数目。获取选项卡条中选项卡的数目。TabPages获取该选项卡控件中选项卡页的集合,使用这个集合可以添加和删除获取该选项卡控件中选项卡页的集合,使用这个集合可以添加和删除TabPages对象对象Visual C#.Net程序设计352022-8-8四、应用实例:添加课程信息 n【实例7-3】在项
34、目MySchool中添加一个窗体,用于添加课程信息。n实例7-3源代码阅读(见教材)n操作演示n代码分析Visual C#.Net程序设计362022-8-87.5 PictureBox控件 n一、PictureBox控件 n二、应用实例:添加关于窗体Visual C#.Net程序设计372022-8-8一、PictureBox控件 nPictureBox控件用于显示位图、GIF、JPEG、图元文件或图标格式的图形。nImage属性确定所显示的图片该属性可在运行时或设计时设置。nSizeMode 属性控制使图像和控件彼此间的相互显示方式。Normal:Image 置于 PictureBox 的
35、左上角,凡是因过大而不适合 PictureBox 的任何图像部分都将被剪裁掉。StretchImage:会使将图像拉伸,适合 PictureBox 的大小。AutoSize:会使控件调整大小,适合图像的大小。CenterImage:会使图像居于工作区的中心。Visual C#.Net程序设计382022-8-8二、应用实例:添加关于窗体n【实例7-4】在项目MySchool中添加一个窗体,用于显示系统说明。n实例7-4源代码阅读(见教材)n操作演示n代码分析Visual C#.Net程序设计392022-8-87.6 菜单、工具栏和状态栏 n一、菜单 n二、工具栏 n三、状态栏 n四、应用实例
36、:添加主窗体 Visual C#.Net程序设计402022-8-8一、菜单 n1.下拉菜单 n2.上下文菜单 Visual C#.Net程序设计412022-8-81.下拉菜单n创建菜单n输入菜单项。可以在标题内容的某个字母前加“&”,例如“文件(&F)”命令将具有一个快捷键“Alt+F”,程序运行时,按“Alt+F”同样可以选择此命令。将菜单标题,即菜单命令的Text属性设置为“-”(减号),则此菜单项将显示为分隔符 Visual C#.Net程序设计422022-8-81.下拉菜单n菜单项的常用属性属性名称属性名称说明说明Checked表示菜单是否被选中表示菜单是否被选中CheckOnC
37、lick当设置为当设置为true时,如果菜单项左边的复选框没有打上标记,就打上时,如果菜单项左边的复选框没有打上标记,就打上标记,如果该复选框已打上标记,就去除该标记,否则,该标记就标记,如果该复选框已打上标记,就去除该标记,否则,该标记就被一个图像替代,使用被一个图像替代,使用Checked属性在确定菜单的状态属性在确定菜单的状态DisplayStyle 是否在菜单上显示文本和图像,默认为是否在菜单上显示文本和图像,默认为 ImageAndText,及同时显示,及同时显示图像和文本图像和文本DropDownItems 获取与此菜单项相关的下拉菜单中的项的集合获取与此菜单项相关的下拉菜单中的项
38、的集合Image 显示在菜单项上的图像显示在菜单项上的图像Selected 指示该菜单项是否处于选定状态指示该菜单项是否处于选定状态ShortcutKeys获取或设置与菜单项关联的快捷键获取或设置与菜单项关联的快捷键ShowShortcutKeys快捷键是否显示在菜单项的旁边快捷键是否显示在菜单项的旁边ToolTipText 菜单项的提示文本,只有当菜单项的提示文本,只有当 ShowItemToolTips 设置为设置为 true 时,时,ToolTipText 才有效。如果才有效。如果 AutoToolTip 设置为设置为 true,则该项的,则该项的 Text 属性将用作属性将用作 Too
39、lTipTextVisual C#.Net程序设计432022-8-82.上下文菜单 n上下文菜单这种菜单也称为快捷菜单,就是指右击后所弹出来的菜单n设计快捷菜单的基本步骤添加一个ContextMenuStrip控件。为ContextMenuStrip控件设计菜单项。选中需要使用的快捷菜单的窗体或控件,在其“属性”窗口中,单击ContextMenuStrip选项,从弹出的下拉列表中选择所需的ContextMenuStrip控件。Visual C#.Net程序设计442022-8-8二、工具栏 n工具栏实际上可以看成是菜单项的快捷方式,工具栏上的每一个工具项都应有对应的菜单项n在工具箱中双击To
40、olStrip控件,可在窗体上添加一个ToolStrip控件n可以在工具栏中添加按钮、文本、左侧标准按钮和右侧下拉按钮的组合、下拉菜单、垂直线或水平线、文本框和进度条。Visual C#.Net程序设计452022-8-8二、工具栏 nToolStrip 控件及其派生类被设计成一个灵活的可扩展系统,以显示工具栏、状态和菜单项。n ToolStrip 控件说明 控件名称控件名称说明说明ToolStripButton可以创建一个支持文本和图像的工具栏按可以创建一个支持文本和图像的工具栏按钮钮ToolStripLabel创建一个标签创建一个标签ToolStripSplitButton左侧标准按钮和右
41、侧下拉按钮的组合左侧标准按钮和右侧下拉按钮的组合ToolStripDropDownButton可以创建一个下拉列表可以创建一个下拉列表ToolStripSeparator直线,可以对菜单或直线,可以对菜单或 ToolStrip 上的相关项上的相关项进行分组进行分组ToolStripTextBox文本框,用户可以在此输入文本文本框,用户可以在此输入文本ToolStripProgressBarWindows 进度栏进度栏Visual C#.Net程序设计462022-8-8三、状态栏 n状态栏一般位于windows窗体的底部,主要用来显示窗体的状态信息n可以为状态栏添加StatusLabel、Pr
42、ogressBar、DropDownButton、SplitButton 名称名称说明说明ToolStripStatusLabelStatusStrip 控件中的一个面板控件中的一个面板ToolStripDropDownButton用户可以从中选择单个项用户可以从中选择单个项ToolStripSplitButton标准按钮和下拉菜单的一个两部分控件标准按钮和下拉菜单的一个两部分控件ToolStripProgressBar显示进程的完成状态显示进程的完成状态Visual C#.Net程序设计472022-8-8三、状态栏 nStatusStrip 控件的常见属性属性名称属性名称说明说明Items
43、默认情况下,状态栏不含有窗格,可使用默认情况下,状态栏不含有窗格,可使用Items属属性在状态栏中添加或删除窗格性在状态栏中添加或删除窗格ShowItemToolTips 是否显示项的是否显示项的ToolTipSizingGrip用来设置是否在窗体的右下角显示一个大小控制柄,用来设置是否在窗体的右下角显示一个大小控制柄,该控制柄可向用户表明该窗体大小可调。只能在大该控制柄可向用户表明该窗体大小可调。只能在大小可调的窗体中设置该属性小可调的窗体中设置该属性Text用来指定状态栏显示的文本用来指定状态栏显示的文本Visual C#.Net程序设计482022-8-8三、状态栏 nStatusStr
44、ip 控件中窗格的常用属性 属性名称属性名称说明说明AutoSize是否基于项的图像和文本自动调整项的大小是否基于项的图像和文本自动调整项的大小Alignment设定设定StatusStrip控件上窗格的对齐方式,可选项包括:控件上窗格的对齐方式,可选项包括:Center、Left和和RightBorderStyle设定窗格边框的样式,可选项如下:设定窗格边框的样式,可选项如下:None:不显示边框;:不显示边框;Raised:窗格以三维凸起方式显示;:窗格以三维凸起方式显示;Sunken:窗格以三维凹起方式显示:窗格以三维凹起方式显示Image设定窗格显示的图标设定窗格显示的图标Minimu
45、mSize设定窗格在状态栏中的最小宽度设定窗格在状态栏中的最小宽度Spring指定项是否填满剩余空间指定项是否填满剩余空间Text设定窗格的显示文本设定窗格的显示文本Width设定窗格的宽度,取决于设定窗格的宽度,取决于AutoSize属性的设置,当窗体大小属性的设置,当窗体大小改变时该属性值可能会随之变化改变时该属性值可能会随之变化Visual C#.Net程序设计492022-8-8四、应用实例:添加主窗体 n【实例7-5】在项目MySchool中添加一个窗体,用于成绩管理系统的主窗体。n实例7-5源代码阅读(见教材)n操作演示n代码分析Visual C#.Net程序设计502022-8-
46、87.7 对话框 n一、模态对话框 n二、非模态对话框n三、消息框 n四、通用对话框 n五、应用实例:一个简单的文本编辑器 Visual C#.Net程序设计512022-8-8一、模态对话框 n所谓模态对话框,就是指当这个对话框弹出的时候,鼠标不能单击这个对话框之外的区域,这种对话框往往是用户进行了某种操作后才出现的。n【实例7-6】创建一个新Windows应用程序,打开一个模态对话框。n实例7-6源代码阅读(见教材)n操作演示n代码分析Visual C#.Net程序设计522022-8-8二、非模态对话框 n非模态对话框通常用于显示用户需要经常访问的控件和数据,并且在使用这个对话框的过程中
47、需要访问其它窗体的情况 n创建非模态对话框和模态对话框相似,模态对话框使用ShowDialog方法显示,而非模态对话框使用Show方法显示。n【实例7-7】在实例7-6创建的Windows应用程序中,打开一个非模态对话框。n实例7-7源代码阅读(见教材)n操作演示n代码分析Visual C#.Net程序设计532022-8-8三、消息框 n消息框经常用于向用户显示通知信息,消息框是特殊类型的对话框,包含消息、图标和一个或多个按钮,常用于提供简的文本格式的消息。n可以使用MessageBox产生消息框。与其它窗体不同,开发人员不需创建MessageBox类的实例。调用静态Show方法可以显示消息
48、框。Visual C#.Net程序设计542022-8-8三、消息框 n1.消息框按钮n2.消息框图标Visual C#.Net程序设计552022-8-81.消息框按钮n一个消息框中最多可显示3个按钮,这里按钮从MessageBoxButtons枚举的预定按钮组成选择 成员成员包含的按钮包含的按钮AbortRetryIgnoreOKOKCancelRetryCancelYesNoYesNoCancelVisual C#.Net程序设计562022-8-81.消息框按钮nShow方法将返回一个DialogResult枚举值指示对话框的返回值成员成员说明说明Abort对话框的返回值是对话框的返回
49、值是 Abort(通常从标签为(通常从标签为“中止中止”的按钮发的按钮发送)送)Cancel对话框的返回值是对话框的返回值是 Cancel(通常从标签为(通常从标签为“取消取消”的按钮发的按钮发送)送)Ignore对话框的返回值是对话框的返回值是 Ignore(通常从标签为(通常从标签为“忽略忽略”的按钮发的按钮发送)送)No对话框的返回值是对话框的返回值是 No(通常从标签为(通常从标签为“否否”的按钮发送)的按钮发送)None从对话框返回了从对话框返回了 Nothing。这表明有模式对话框继续运行。这表明有模式对话框继续运行 OK对话框的返回值是对话框的返回值是 OK(通常从标签为(通常从
50、标签为“确定确定”的按钮发送)的按钮发送)Retry对话框的返回值是对话框的返回值是 Retry(通常从标签为(通常从标签为“重试重试”的按钮发的按钮发送)送)Yes对话框的返回值是对话框的返回值是 Yes(通常从标签为(通常从标签为“是是”的按钮发送)的按钮发送)Visual C#.Net程序设计572022-8-82.消息框图标 nMessageBoxIcon枚举用于指定消息框中显示什么图标。成员成员包含的按钮包含的按钮成员成员包含的按钮包含的按钮AsteriskInformationErrorQuestionExclamationStopHandWarningNone不显示图标不显示图标