1、Visual C#Visual C#程序设计基础程序设计基础XXXXXX大学计算机系基础教研室大学计算机系基础教研室第六章第六章 用户界面设计用户界面设计6.1 6.1 常用控件常用控件6.2 6.2 列表框和组合框列表框和组合框6.3 6.3 用户交互界面用户交互界面小结和习题小结和习题6.1 常用控件System.Windows.Forms命名空间中的控件命名空间中的控件 控控 件件用用 途途Button按钮按钮CheckBox复选框复选框CheckedLisBox复选框列表复选框列表ComboBox组合框组合框DataGrid显示一个列表显示一个列表DataTimePicker选择时间和
2、日期选择时间和日期GroupBox分组框分组框HScrollBar水平滚动条水平滚动条Label标签,用于显示静态文本标签,用于显示静态文本6.1 常用控件System.Windows.Forms命名空间中的控件命名空间中的控件 控控 件件用用 途途LinkLabel超链接标签超链接标签ListBox列表框列表框ListView列表列表MonthCalendar月历控件月历控件NumericUpDown微调按钮,用于调节数字微调按钮,用于调节数字PrctureBox图像控件图像控件PrintPreviewControl 打印预览控件打印预览控件ProgressBar进度条进度条Property
3、Grid列出其他对象的属性的控件列出其他对象的属性的控件6.1 常用控件System.Windows.Forms命名空间中的控件命名空间中的控件 控控 件件用用 途途RadioButton单选按钮单选按钮RichTextBox富文本框控件富文本框控件StatusBar状态栏状态栏TabControl包含包含Tab选项卡的控件选项卡的控件TextBox文本框文本框ToolBar工具栏工具栏ToolTip工具提示工具提示TrackBar跟踪条跟踪条TreeView树视图树视图VScrollBar垂直滚动条垂直滚动条6 66.1.1 6.1.1 单选按钮单选按钮(RadioButtonRadioBu
4、tton)单选按钮控件是一个能开能关的控件,通常由两个以上的单选单选按钮控件是一个能开能关的控件,通常由两个以上的单选按钮组成选项组,但这些单选按钮在同一时刻只能选一个。按钮组成选项组,但这些单选按钮在同一时刻只能选一个。重要属性:重要属性:TextText属性属性 按钮上显示的文本按钮上显示的文本CheckedChecked属性属性 表示单选按钮的状态:表示单选按钮的状态:True True 被选定被选定 False False 未被选定未被选定6.1 常用控件7 7重要事件:重要事件:ClickClick事件事件 单击后,使单击后,使CheckedChecked属性属性为为TrueTrue
5、CheckedChangedCheckedChanged事件事件 当某个单选当某个单选按钮的状态被发生变化,该事件随之被按钮的状态被发生变化,该事件随之被触发。触发。本章目录本章目录6.1.1 单选按钮8 8重要属性:重要属性:CheckStateCheckState 属性属性 表示复选框状态表示复选框状态Unchecked Unchecked 未选定未选定Checked Checked 被选定被选定Indeterminate Indeterminate 不确定不确定重要事件:重要事件:ClickClickCheckedChangedCheckedChanged 6.1.2 复选框(Check
6、Box)9 9包括面板控件包括面板控件(Panel)、分组控件、分组控件(GroupBox)和多页面控件和多页面控件(TabControl)先建立框架,然后将各控件放置其中。先建立框架,然后将各控件放置其中。1.面板控件面板控件Panel 面板可以响应面板可以响应ClickClick和和DoubleClickDoubleClick事事件,但一般不需要编写事件过程。件,但一般不需要编写事件过程。本章目录本章目录6.1.3框架10102分组框分组框GroupBox分组控件把其他的控件组织在一起形成控分组控件把其他的控件组织在一起形成控件组。当框架移动时,控件可以相应地移件组。当框架移动时,控件可以
7、相应地移动;框架隐藏时,控件也一起隐藏。动;框架隐藏时,控件也一起隐藏。重要属性:重要属性:Text属性:给分组框加一个标题,使用户属性:给分组框加一个标题,使用户了解分组框的用途。了解分组框的用途。本章目录本章目录6.1.3框架11113TabControl控件控件TabControl控件很像一个卡片盒或一组文控件很像一个卡片盒或一组文件标签,将一些相关内容组织在一个选项件标签,将一些相关内容组织在一个选项卡中,在同一个窗口区域通过选择标签转卡中,在同一个窗口区域通过选择标签转换显示不同的选项卡。换显示不同的选项卡。TabControl可以响应可以响应Click和和DoubleClick事件
8、,但该控件只是用来做界面的切换,事件,但该控件只是用来做界面的切换,很少对它们的事件进行处理很少对它们的事件进行处理。本章目录本章目录6.1.3框架6.1.4 6.1.4 应用实例应用实例【例例6-1】编写计算机选课程序编写计算机选课程序 课程有三个等级,第一门课是基础课,第二课程有三个等级,第一门课是基础课,第二门课是语言课,都为限选,第三门应用课是门课是语言课,都为限选,第三门应用课是任选课。学生每选一门课,学生的选课情况任选课。学生每选一门课,学生的选课情况立即显示在下面的多行文本框中。立即显示在下面的多行文本框中。13136.2.1 6.2.1 列表框列表框(ListBox)列表框可显
9、示多个选项供用户选择,不能直接修列表框可显示多个选项供用户选择,不能直接修改其中的内容。改其中的内容。如果选项的数量超过可显示的区如果选项的数量超过可显示的区域,列表框会自动地增加滚动条。域,列表框会自动地增加滚动条。本章目录本章目录6.2 列表框和组合框ListBoxListBox控件常用的属性控件常用的属性 (1)(1)ItemsItemsItemsItems是一个集合是一个集合是是ArrayListArrayList类对象类对象 ItemsItems中选项的序号是从中选项的序号是从0开始的。开始的。ItemsItems属性既可以在设计状态设置,也可以在属性既可以在设计状态设置,也可以在程
10、序中设置。程序中设置。ListBox1.Items(3)ListBoxListBox控件常用的属性控件常用的属性 (2)(2)SelectionModeSelectionMode 设置用户是否能够在列表项中做多个选择设置用户是否能够在列表项中做多个选择 None:不允许选择;:不允许选择;One:只能单选而不允许有多项选择;:只能单选而不允许有多项选择;MultiSimple:允许有简单的多项选择;:允许有简单的多项选择;MultiExtended:允许有扩展式多项选项,即用户使用:允许有扩展式多项选项,即用户使用“Shif+单击单击”或或“Shift+方向键方向键”,可以将先前的选项,可以将
11、先前的选项扩展到当前选项,使用扩展到当前选项,使用“Ctrl+单击单击”可以进行各项选可以进行各项选择。择。1616(3)(3)SelectedIndexSelectedIndex表示在程序运行时被选定的项的序号。只能在程表示在程序运行时被选定的项的序号。只能在程序中设置或引用。序中设置或引用。如果未选中任何选项,则如果未选中任何选项,则SelectedIndexSelectedIndex为为-1-1。SelectedIndex=3本章目录本章目录ListBoxListBox控件常用的属性控件常用的属性1717(4)(4)SelectedItemSelectedItem列表中选中的字符串。如允
12、许多选,该属性返回列表中选中的字符串。如允许多选,该属性返回选择的索引号最小的条目。如一个也没选,该值选择的索引号最小的条目。如一个也没选,该值为空。为空。(5)(5)SelectedItemsSelectedItems获取包含获取包含 ListBoxListBox 中当前选定项的集合。中当前选定项的集合。本章目录本章目录ListBoxListBox控件常用的属性控件常用的属性1818(6)(6)MultiColumnMultiColumnListBoxListBox是否支持多列。如果设置为是否支持多列。如果设置为TrueTrue,则,则列表框支持多行显示,默认认为列表框支持多行显示,默认认为
13、FalseFalse。(7)(7)SortedSorted程序运行期间列表框或组合框的选项是否按字母程序运行期间列表框或组合框的选项是否按字母表顺序排序。如果表顺序排序。如果SortedSorted为为TrueTrue,则选项按字,则选项按字母表顺序显示母表顺序显示 本章目录本章目录ListBoxListBox控件常用的属性控件常用的属性ListBoxListBox控件常用的方法控件常用的方法(1)(1)Items.AddItems.Add对象对象.Items.AddItems.Add(选项选项)把一个选项加入列表框把一个选项加入列表框例如:例如:ListBox1.Items.Add(“王涛王
14、涛)(2)(2)Items.RemoveItems.Remove对象对象.Items.RemoveItems.Remove(选项选项)从列表框中删除指定的项从列表框中删除指定的项例如:例如:ListBox1.Items.Remove(“李明李明)2020ListBoxListBox控件常用的方法控件常用的方法(3)(3)Items.InsertItems.Insert对象对象.Insert(Index,ItemInsert(Index,Item)在列表框中插入指定的项。在列表框中插入指定的项。Index表示在表示在列表框中插入的位置。列表框中插入的位置。例如:例如:ListBox1.Inser
15、t(4,”赵明赵明”)(4)(4)Items.ClearItems.Clear对象对象.Items.ClearItems.Clear用于清除列表框的所有项目用于清除列表框的所有项目 例如:例如:ListBox1.Items.Clear 21216.2.2 6.2.2 组合框组合框(ComboBoxComboBox )组合框是文本框和列表框组合而成的控件。可以在文本组合框是文本框和列表框组合而成的控件。可以在文本框输入字符,其右侧有一个向下的箭头,单击此箭头可框输入字符,其右侧有一个向下的箭头,单击此箭头可以打开一个列表框,可以从列表框中选择希望输入的内以打开一个列表框,可以从列表框中选择希望输
16、入的内容。它有三种不同类型:容。它有三种不同类型:本章目录本章目录6.2 列表框和组合框ComboBoxComboBox控件常用的属性控件常用的属性 (1)(1)Items:Items:同列表框同列表框(2)(2)Sorted:Sorted:同列表框同列表框(3)(3)SelectedItemSelectedItem:同列表框同列表框(4)(4)SelectedIndexSelectedIndex:同列表框同列表框(5)(5)MaxDropDownItemsMaxDropDownItems:下拉列表能显下拉列表能显示的最大条目数示的最大条目数(1100),如果实际条目数,如果实际条目数大于此数
17、,将出现滚动条。大于此数,将出现滚动条。ComboBoxComboBox控件常用的事件控件常用的事件ClickClick、DoubleClickDoubleClickSelectedIndexChangedSelectedIndexChanged:在在 SelectedIndex 属性更改后发生属性更改后发生 6.2.3 6.2.3 应用实例应用实例【例例6-2】编写选课程序。编写选课程序。利用列表框和组合框增加和删除相关课程,利用列表框和组合框增加和删除相关课程,并统计学时数。并统计学时数。6.3 6.3 用户交互界面用户交互界面用户界面的作用是负责管理与用户之间的用户界面的作用是负责管理与
18、用户之间的交互,向用户显示数据,从用户处获得交互,向用户显示数据,从用户处获得数据,解释由用户操作所引发的事件,数据,解释由用户操作所引发的事件,并帮助用户查看任务的进度。并帮助用户查看任务的进度。6.3.1 6.3.1 滚动条和进度条滚动条和进度条滚动条滚动条(ScrollBar)通常附在窗体上协助观通常附在窗体上协助观察数据或确定位置,也可作为数据输入察数据或确定位置,也可作为数据输入工具。滚动条有水平工具。滚动条有水平(HScrollBar)和垂直和垂直(VScrollBar)两种。两种。进度条进度条(ProgressBar)用来指示事务处理的用来指示事务处理的进度。进度。滚动条的主要属
19、性滚动条的主要属性 (1)Value(1)Value属性:属性:Value值的大小决定了滚值的大小决定了滚动条中滑块的位置,反过来滑块的位置动条中滑块的位置,反过来滑块的位置也影响值的大小。也影响值的大小。在程序中使用该属性的语法如下:在程序中使用该属性的语法如下:Object.valueObject.value=number=number(2)Minimum(2)Minimum(最小值)属性:将滑块(最小值)属性:将滑块移到滚动条的最左端或最上端时,滚动移到滚动条的最左端或最上端时,滚动条的属性值达到最小,默认值为条的属性值达到最小,默认值为0。(3)Maxinum(3)Maxinum(最大
20、值)属性:将滑块(最大值)属性:将滑块移到滚动条的最右端或最下端时,滚动移到滚动条的最右端或最下端时,滚动条的属性值达到最大,默认值为条的属性值达到最大,默认值为100。滚动条的主要属性滚动条的主要属性 (4)(4)SmallchangeSmallchange(小变化)属性:(小变化)属性:当用鼠标在滚动条端点的某一箭头上单当用鼠标在滚动条端点的某一箭头上单击时,属性值就相应地增加或减少。属击时,属性值就相应地增加或减少。属性的设置值是用户每单击一次鼠标,属性的设置值是用户每单击一次鼠标,属性增加或减少的量。性增加或减少的量。(5)Largechange(5)Largechange(大变化)属
21、性:(大变化)属性:当用鼠标在滚动条端点与滑块之间的任当用鼠标在滚动条端点与滑块之间的任一位置单击时,属性值就相应地大幅增一位置单击时,属性值就相应地大幅增加或减少。属性的设置值是用户每单击加或减少。属性的设置值是用户每单击一次鼠标,属性增加或减少的量。一次鼠标,属性增加或减少的量。滚动条的事件滚动条的事件 (1)ValueChanged(1)ValueChanged事件当通过事件当通过 Scroll 事件或以编程方式更改事件或以编程方式更改Value属性时发生。属性时发生。(2)Scroll(2)Scroll事件在通过鼠标或键盘操作移事件在通过鼠标或键盘操作移动滚动框后发生。动滚动框后发生。
22、进度条进度条 ProgressBar(进度条进度条)控件使用矩形方块从左至右显示某一控件使用矩形方块从左至右显示某一过程的进程情况。过程的进程情况。属性:属性:(1)Maximum/Minimum:(1)Maximum/Minimum:读取或设置进度条的读取或设置进度条的最大最大/小计数值。小计数值。(2)Value(2)Value用于读取或设置进度条的当前计数值。用于读取或设置进度条的当前计数值。在对在对ProgressBar编程时,必须先确定编程时,必须先确定Value属性上限。例属性上限。例如,下载文件,可将如,下载文件,可将Maximum设置为文件长度。在该设置为文件长度。在该文件下载
23、过程中,将文件下载过程中,将Value属性设置为文件已经下载的属性设置为文件已经下载的字节数。字节数。进度条的常用事件进度条的常用事件 ClickClick、MouseDownMouseDown和和MouseMoveMouseMove【例例6-3】滚动条和进度条应用。滚动条和进度条应用。用水平滚动条来设定参与运算的序列的长用水平滚动条来设定参与运算的序列的长度,用进度条显示不同长度序列的处理度,用进度条显示不同长度序列的处理进度不同进度不同 6.3.2 6.3.2 定时器定时器定时器以一定的时间间隔产生定时器以一定的时间间隔产生Tick事件事件 属性属性EnabledEnabled:为为Fal
24、se时定时器不产生时定时器不产生Tick事件事件IntervalInterval 触发触发Tick事件的间隔,单位事件的间隔,单位ms 事件事件 定时器控件只有一个定时器控件只有一个Tick事件事件产生产生Tick事件条件事件条件:Enabled=True;Interval0 方法方法StartStart、StopStop定时器实例定时器实例【例例6-4】实时时钟。实时时钟。6.3.36.3.3菜单设计 快捷键快捷键热键热键子菜单标记子菜单标记主菜单主菜单菜单项菜单项子菜单名子菜单名分隔线分隔线 1 菜单设计概述菜单设计概述菜单有下拉式菜单和弹出菜单菜单有下拉式菜单和弹出菜单(上下文菜单上下文
25、菜单)。下。下拉式菜单的组成结构:拉式菜单的组成结构:菜单设计概述VS2008.NET的菜单类包括的菜单类包括MenuStrip,ToolStrip,ContextMenuStrip,StatusStrip四种控件,四种控件,MenuStrip为菜单条,为菜单条,ToolStrip为工具条,为工具条,ContextMenuStrip是快捷菜单,是快捷菜单,StatusStrip是状态条。是状态条。主要给读者介绍主要给读者介绍MenuStrip和和ContextMenuStrip的使用。的使用。MenuStripMenuStrip控件的图标为控件的图标为 。ContextMenuStripCon
26、textMenuStrip控件的图标控件的图标为为 。热键:当按住热键:当按住ALT键后,再按顶级菜单项的热键字符,键后,再按顶级菜单项的热键字符,可以打开该顶级菜单项的弹出菜单。可以打开该顶级菜单项的弹出菜单。“编辑编辑(E)”快捷键快捷键:用户可以不打开主菜单,只要按住:用户可以不打开主菜单,只要按住Ctrl键不放,键不放,再按快捷键字符再按快捷键字符 MenuStripMenuStrip的常见属性的常见属性 AllowItemReorderAllowItemReorder:默认值为:默认值为False,当更改该属性值为当更改该属性值为True时,按下时,按下ALT键键的同时可以用鼠标拖动
27、各菜单项以调整的同时可以用鼠标拖动各菜单项以调整其在菜单栏上的左右位置。其在菜单栏上的左右位置。DockDock属性:指示菜单栏在窗体中出现的属性:指示菜单栏在窗体中出现的位置,默认值为位置,默认值为Top。GripStyleGripStyle属性:属性::是否显示菜单栏的指示是否显示菜单栏的指示符,即纵向排列的多个凹点,默认值为符,即纵向排列的多个凹点,默认值为Hidden。当更改该属性值为。当更改该属性值为Visible时,时,显示位置由显示位置由GripMargin属性指定。属性指定。MenuStripMenuStrip的常见属性的常见属性 ItemsItems:用于编辑菜单栏上显示的各
28、菜单:用于编辑菜单栏上显示的各菜单项。单击项。单击Items属性后属性后“”按钮,弹出按钮,弹出“项集合编辑器项集合编辑器”对话框对话框。MenuStripMenuStrip的常见属性的常见属性 ShowItemToolTipsShowItemToolTips:是否显示:是否显示MenuStrip的工具提示。的工具提示。StretchStretch:指示只是:指示只是MenuStrip是否在其是否在其容器中从一端拉伸到另一端。容器中从一端拉伸到另一端。MenuStripMenuStrip的常用事件的常用事件 ItemClickedItemClicked:当单击菜单栏上各主菜当单击菜单栏上各主菜
29、单项时触发的操作。单项时触发的操作。LayoutCompletedLayoutCompleted:当菜单栏上各:当菜单栏上各主菜单项的排列顺序发生变化之后触发主菜单项的排列顺序发生变化之后触发的操作。使用该事件时,的操作。使用该事件时,AllowItemReorder属性必须设为属性必须设为True,即当程序运行时,按下即当程序运行时,按下Alt键重新排列菜键重新排列菜单栏上各主菜单项的顺序之后触发该事单栏上各主菜单项的顺序之后触发该事件。件。菜单项菜单项ToolStripMenuItemToolStripMenuItem属性:属性:NameName:菜单项的名字。:菜单项的名字。Checke
30、dChecked:指示菜单项是否被选中,默:指示菜单项是否被选中,默认值为认值为False。CheckOnClickCheckOnClick:决定单击菜单项时是:决定单击菜单项时是否使其选中状态发生改变。默认值为否使其选中状态发生改变。默认值为false,即单击菜单项不会影响其,即单击菜单项不会影响其Checked属性。属性。CheckStateCheckState:指示菜单项的状态。与复:指示菜单项的状态。与复选框选框CheckBox控件的控件的CheckState属性相属性相同,共有同,共有3个属性值:个属性值:Checked,Unchecked和和Indeterminate。菜单项菜单项
31、ToolStripMenuItemToolStripMenuItem属性:属性:DisplayStyleDisplayStyle:指示菜单项上的显示内容。共有:指示菜单项上的显示内容。共有4个属性值:个属性值:None,Text,Image和和ImageAndText,默,默认值为认值为ImageAndText。DropDownItemsDropDownItems:单击该属性后的:单击该属性后的“”按钮,按钮,调出调出“项集合编辑器项集合编辑器”对话框,以此编辑该菜单项对对话框,以此编辑该菜单项对应的子菜单中的各菜单项。应的子菜单中的各菜单项。ImageImage:指定在该菜单项上显示的图标。
32、:指定在该菜单项上显示的图标。ImageScalingImageScaling:指定是否调整图标大小,默认:指定是否调整图标大小,默认属性值为属性值为SizeToFit,即调整图标大小以适应菜单项。,即调整图标大小以适应菜单项。该属性的另一个属性值为该属性的另一个属性值为None,即不调整图标大小。,即不调整图标大小。菜单项菜单项ToolStripMenuItemToolStripMenuItem属性:属性:ShortCutKeysShortCutKeys:为菜单项指定快捷键。:为菜单项指定快捷键。单击该属性后的下拉按钮,出现设置页单击该属性后的下拉按钮,出现设置页面,用于设置菜单项的快捷组合
33、键。该面,用于设置菜单项的快捷组合键。该属性的默认值为属性的默认值为None。菜单项菜单项ToolStripMenuItemToolStripMenuItem属性:属性:ShowShortCutKeysShowShortCutKeys:指示是否在菜单:指示是否在菜单项上显示快捷键,默认值为项上显示快捷键,默认值为True,即在,即在菜单项上按照菜单项上按照ShortCutKeys属性的设置属性的设置显示快捷键。显示快捷键。TextText属性:指示菜单项标题。属性:指示菜单项标题。ToolTipTextToolTipText属性:控件的属性:控件的ToolTip文本。文本。菜单项菜单项Tool
34、StripMenuItemToolStripMenuItem事件:事件:ClickClick事件:单击菜单项时触发。事件:单击菜单项时触发。DropDownClosedDropDownClosed:关闭菜单项的子菜:关闭菜单项的子菜单时触发的操作。单时触发的操作。DropDownItemClickedDropDownItemClicked:单击菜单项:单击菜单项的子菜单中任何一项时触发的操作。的子菜单中任何一项时触发的操作。DropDownOpenedDropDownOpened:菜单项的子菜单:菜单项的子菜单打开之后触发的操作。打开之后触发的操作。DropDownOpeningDropDow
35、nOpening:打开菜单项的子:打开菜单项的子菜单时触发的操作。菜单时触发的操作。弹出菜单弹出菜单ContextMenuStripContextMenuStrip属性:属性:AllowTransparencyAllowTransparency:是否能调整窗体:是否能调整窗体的不透明度。的不透明度。AutoCloseAutoClose:是否能在不激活时自动关:是否能在不激活时自动关闭。闭。AutoSizeAutoSize:是否能自动调整大小。:是否能自动调整大小。DefaultDropDownDirectionDefaultDropDownDirection:控件的:控件的显示方向。显示方向。
36、DisplayRectangleDisplayRectangle:获取显示区域的矩:获取显示区域的矩形。形。弹出菜单弹出菜单ContextMenuStripContextMenuStrip属性:属性:DropShadwnEnabledDropShadwnEnabled:是否显示三维:是否显示三维阴影的值。阴影的值。ItemsItems:获取:获取ToolStrip的所有子项。的所有子项。LayoutStyleLayoutStyle:是否子项的显示方式。:是否子项的显示方式。OpacityOpacity:确定窗体的不透明度。:确定窗体的不透明度。OwnerItemOwnerItem:为此:为此
37、ToolStripDropDown 所有者的所有者的 ToolStripItem。RegionRegion:与:与 ToolStripDropDown 关联的关联的窗口区域。窗口区域。弹出菜单弹出菜单ContextMenuStripContextMenuStrip属性:属性:ShowCheckMarginShowCheckMargin:是否在:是否在 ToolStripMenuItem 的左边缘显示选中标的左边缘显示选中标记的位置。记的位置。ShowImageMarginShowImageMargin:是否在:是否在 ToolStripMenuItem 的左边缘显示图像的的左边缘显示图像的位置
38、。位置。SourceControlSourceControl:获取上一个使此:获取上一个使此 ContextMenuStrip 被显示的控件。被显示的控件。TextDirectionTextDirection:指定项上的文本绘制方:指定项上的文本绘制方向。向。创建主菜单创建主菜单 【例例6-5】文本编辑器。文本编辑器。创建弹出菜单创建弹出菜单 主菜单通过窗体的主菜单通过窗体的MainMenuStripMainMenuStrip属性属性设定其主菜单。设定其主菜单。菜单可以通过窗体中对象的菜单可以通过窗体中对象的ContextMenuStripContextMenuStrip属性设定某个弹属性设定
39、某个弹出菜单绑定到此对象。出菜单绑定到此对象。给文本框给文本框tbContent绑定弹出菜单:绑定弹出菜单:tbContent.ContextMenuStrip=ContextMenuStrip1;6.3.4 6.3.4 鼠标事件鼠标事件MouseDownMouseDown:如果鼠标位于控件区域,:如果鼠标位于控件区域,按下鼠标按键。按下鼠标按键。MouseUpMouseUp:如果鼠标位于控件区域,:如果鼠标位于控件区域,抬起鼠标按键。抬起鼠标按键。MouseMoveMouseMove:如果鼠标在控件区域移:如果鼠标在控件区域移动。动。MouseEnterMouseEnter:鼠标进入控件区域
40、。:鼠标进入控件区域。MouseLeaveMouseLeave:鼠标离开控件区域。:鼠标离开控件区域。6.3.4 6.3.4 鼠标事件鼠标事件鼠标事件处理函数一般有两个参数:鼠标事件处理函数一般有两个参数:object senderobject sender:产生该事件的对象的属性:产生该事件的对象的属性Name的值,的值,例如,为例如,为Form1的的MouseDown事件增加事件函数,单事件增加事件函数,单击击Form1,第一个参数,第一个参数sender代表代表Form1对象。对象。System.Windows.Forms.MouseEventArgsSystem.Windows.For
41、ms.MouseEventArgs e e:代表事件的一些信息,事件不同,所代表的信息也不代表事件的一些信息,事件不同,所代表的信息也不相同,鼠标按下事件处理函数中,相同,鼠标按下事件处理函数中,e.X为发生事件时鼠为发生事件时鼠标位置的标位置的x坐标,坐标,e.Y为发生事件时鼠标位置的为发生事件时鼠标位置的y坐标,坐标,e.Button为为MouseButtons.Left,表示单击了鼠标左键,表示单击了鼠标左键等等,等等,Right和和Middle则分别代表右键和中间键。则分别代表右键和中间键。e.Clicks为鼠标单击的次数,如果大于为鼠标单击的次数,如果大于2次,则为双击。次,则为双击
42、。鼠标事件应用鼠标事件应用【例例6-6】在窗体中的指定区域,单击或双在窗体中的指定区域,单击或双击鼠标左键或右键,用击鼠标左键或右键,用Label控件显示鼠控件显示鼠标的事件和位置。标的事件和位置。6.3.5 6.3.5 对话框设计对话框设计在图形用户界面中,对话框是一种特殊的在图形用户界面中,对话框是一种特殊的窗体窗体 向用户显示信息向用户显示信息 获得用户的响应获得用户的响应 在在C#.NET中,对话框根据其用途可以分为中,对话框根据其用途可以分为消息框消息框、通用对话框通用对话框和和打印组件打印组件三大类。三大类。消息框消息框 C#中通过中通过MessageBox类实现消息框的定义。类实
43、现消息框的定义。MessageBox.Show(“欢迎!欢迎!”);MessageBox.Show(大家晚上好!大家晚上好!,问候问候);MessageBox.Show(是否继续?是否继续?,警告警告,MessageBox Buttons.YesNoCancel);消息框消息框 C#中通过中通过MessageBox类实现消息框的定义。类实现消息框的定义。MessageBox.Show(程序发生错误!程序发生错误!,警警告告,MessageBoxButtons.RetryCancel,MessageBoxIcon.Warning);MessageBox.Show(程序发生错误!程序发生错误!,警
44、警告告,MessageBoxButtons.RetryCancel,MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2);通用对话框通用对话框利用通用对话框类控件可在窗体上创建打利用通用对话框类控件可在窗体上创建打开文件、保存文件、颜色、字体、打印开文件、保存文件、颜色、字体、打印设置、打印预览等对话框。设置、打印预览等对话框。通用对话框通用对话框通用对话框控件继承了通用对话框控件继承了System.Windows.Forms.CommonDialog类,类,.NET Framewrek中提供了多个中提供了多个常用的对话框控件和对应的类
45、。常用的对话框控件和对应的类。ColorDialog 显示可用的颜色以及允许用户定义自定义颜色的控件。显示可用的颜色以及允许用户定义自定义颜色的控件。OpenFileDialog 显示一个用户可从中选择打开文件的对话框窗口。显示一个用户可从中选择打开文件的对话框窗口。SaveFileDialog显示一个用户可选择路径保存文件的对话框窗口。显示一个用户可选择路径保存文件的对话框窗口。FolderBrowserDialog 提示用户选择文件夹。提示用户选择文件夹。FontDialog 提示用户从本地计算机上安装的字体中选择一种字体。提示用户从本地计算机上安装的字体中选择一种字体。PageSetup
46、Dialog 允许用户更改与页面相关的打印设置,包括边距和纸张方向。允许用户更改与页面相关的打印设置,包括边距和纸张方向。PrintDialog 允许用户选择一台打印机并选择文档中要打印的部分。允许用户选择一台打印机并选择文档中要打印的部分。PrintDocument定义一个可再次使用的对象,该对象将输出发送到打印机。定义一个可再次使用的对象,该对象将输出发送到打印机。PrintPreviewControl用于按文档打印时的外观显示文档。用于按文档打印时的外观显示文档。PrintPreviewDialog显示打印文档的外观。显示打印文档的外观。打开文件和保存文件打开文件和保存文件属性:属性:F
47、ilterFilter:字符串类型,选择在对话框中显示的文件类型。:字符串类型,选择在对话框中显示的文件类型。Filter=纯文本文件纯文本文件(*.txt)|*.txt|所有文件所有文件(*.*)|*.*”FilterIndexFilterIndex:表示打开对话框后,对话框的文件类型:表示打开对话框后,对话框的文件类型(T)下拉列表编辑框的下拉列表中首先被选中的项的索下拉列表编辑框的下拉列表中首先被选中的项的索引号。引号。可以在设计阶段在属性窗口修改属性可以在设计阶段在属性窗口修改属性FilterIndex和和Filter,也可在程序中用下列语句修改:也可在程序中用下列语句修改:openF
48、ileDialog1.Filter=纯文本文件纯文本文件(*.txt)|*.txt|所有文所有文件件(*.*)|*.*openFileDialog1.FilterIndex=1打开文件和保存文件打开文件和保存文件属性:属性:FileNameFileName:用户选取的文件的路径和文件名。:用户选取的文件的路径和文件名。InitialDirectoryInitialDirectory:打开对话框首先显示该属性指定的:打开对话框首先显示该属性指定的文件夹中的文件。文件夹中的文件。CheckPathExistsCheckPathExists:在对话框返回之前,检查指定路:在对话框返回之前,检查指定路
49、径是否存在。径是否存在。DefaultExtDefaultExt:如果用户未指定扩展名,自动增加属性指:如果用户未指定扩展名,自动增加属性指定的文件扩展名。定的文件扩展名。RestoreDirectoryRestoreDirectory:控制对话框在关闭之前是否恢复:控制对话框在关闭之前是否恢复当前目录。当前目录。ShowHelpShowHelp:启用:启用“帮助帮助”按钮。按钮。TitleTitle:将显示在对话框标题栏中的字符。:将显示在对话框标题栏中的字符。ValiDateNamesValiDateNames:控制对话框检查文件名中是否不含:控制对话框检查文件名中是否不含有无效的字符或序
50、列。有无效的字符或序列。打开文件和保存文件打开文件和保存文件事件:事件:FileOkFileOk:用户点击:用户点击“打开打开”或或“保存保存”按钮时要处理的按钮时要处理的事件。事件。HelpRequestHelpRequest:当用户点击:当用户点击“帮助帮助”按钮时要处理的按钮时要处理的事件。事件。方法:方法:ShowDialogShowDialog()():打开对话框,根据方法的返回值确定:打开对话框,根据方法的返回值确定用户单击了那个按钮,如返回用户单击了那个按钮,如返回DialogResult.Cancle,用,用户单击了忽略按钮,如返回户单击了忽略按钮,如返回DialogResul