• 1. 第9章 用户界面设计C#程序设计
  • 2. 用户界面设计包括菜单设计和一些美化用户界面的非C#内部控件的使用。为应用程序设计良好的界面,可以提高应用程序的可操作性。第9章 用户界面设计
  • 3. 本章学习重点: 掌握C#菜单的基本结构和组成。 掌握C#下拉式菜单和弹出式菜单的设计方法。 掌握通用对话框控件的设计方法。 掌握ImageList控件的设计方法。 掌握TreeView(树视图)和ListView(列表视图)控件的设计方法。 掌握ToolStrip(工具栏)和StatusStrip(状态栏)控件的设计方法第9章 用户界面设计
  • 4. 9.1 菜单设计 9.1.1 菜单的基本结构 菜单是用户界面中的重要组成部分。菜单按使用形式分为下拉式菜单和弹出式菜单。下拉式菜单位于窗口的顶部,一般通过菜单栏中的菜单标题的方式打开。弹出式菜单是独立于窗体菜单栏而显示在窗体内的浮动菜单。一般通过右键点击某一区域的方式打开,不同区域所“弹出”的菜单内容是不同的。
  • 5. 9.1 菜单设计 9.1.1 菜单的基本结构下拉式菜单和弹出式菜单的基本结构大致相似,下面以下拉式菜单为例。下拉式菜单的基本结构包括菜单栏、菜单标题、一级菜单和子菜单,通常在应用程序中最多有2级下拉菜单。图9-1 菜单的基本结构菜单栏菜单标题分隔条一级菜单菜单项子菜单快捷键热键子菜单标记
  • 6. 9.1 菜单设计9.1.2 创建下拉式菜单 在C# 的工具箱中提供了一个MenuStrip菜单控件,使用MenuStrip控件来创建菜单非常简单。 1、添加菜单和菜单项 (1)向窗体中添加一个MenuStrip控件(拖或双击控件) (2)输入菜单标题 (3)输入新的菜单项和子菜单 (4)插入分隔条 (5)更改菜单项的文本和名称 (6)删除菜单项
  • 7. 9.1 菜单设计9.1.2 创建下拉式菜单 2、设置菜单项属性 MenuStrip菜单控件可理解为一个容器,它是一个包含了所有菜单项的对象集,每个菜单项是一个ToolStripMenuItem对象,默认的Name属性为菜单项文本加上ToolStripMenuItem,如“文件ToolStripMenuItem”,用户可在属性窗口中修改默认的名称。
  • 8. 9.1 菜单设计9.1.2 创建下拉式菜单表9-1 菜单项ToolStripMenuItem对象的常用属性属性说明Checked获取或设置一个值,通过该值指示选中标记是否出现在菜单项文本的旁边,如果要放置选中标记出现在菜单项文本的旁边,则为True,否则为 False(默认值)。Name获取或设置菜单项的名称Enabled用于控制菜单是否可用。如设置为True,表示启用该项,否则禁用该项ShortcutKeys获取或设置与ToolStripMenuItem关联的快捷键ShowShortcutKeys获取或设置一个值,该值指示与ToolStripMenuItem关联的快捷键是否显示在ToolStripMenuItem的旁边Text获取或设置菜单项显示的文本Image获取或设置显示在ToolStripMenuItem上的图像Visible控制菜单项是否可见,如设置为True,菜单项可见,设置为False则隐藏菜单项ToolTipText获取或设置一个值,该值为菜单项的提示信息
  • 9. 9.1 菜单设计9.1.2 创建下拉式菜单 3、为菜单项编写事件过程 菜单项唯一响应的事件就是Click事件,在应用程序运行时,单击一个菜单项就会发生一个Click事件,对应的菜单项命令就会得到响应,执行相应的Click事件过程。 在设计菜单项时,要为某个菜单项编写事件过程,只要双击该菜单项,即可自动打开代码窗口,用户可以输入相应的代码。
  • 10. 9.1 菜单设计9.1.2 创建下拉式菜单 4、为菜单编写事件过程 菜单常用的事件为Click事件参照实例P9_1:设计一个下拉式菜单实现两个数的加、减、乘、除运算。
  • 11. 9.1 菜单设计9.1.3 弹出式菜单设计 弹出式菜单(ContextMenuStrip)是独立于主菜单,而显示于窗口任何位置上的浮动菜单。一般通过单击鼠标右键来激活弹出式菜单,是主菜单的补充。 弹出式菜单需要跟窗体或控件关联,如将Form1窗体的ContextMenuStrip属性设置为弹出式菜单contextMenuStrip1,则当程序运行时,用右键点击窗体即可弹出菜单。 弹出式菜单控件的常用事件是Opened,它在打开该弹出式菜单时发生参照实例P9_2:设计一个弹出式菜单实现两个数的加、减、乘、除运算。
  • 12. 9.1 菜单设计9.1.4 为菜单项添加访问热键和快捷键 1、为菜单项添加访问热键 可以为菜单标题或菜单项添加访问热键,操作方法是,在菜单标题或菜单项的文字中使用“&”符号即可使其后的字母作为该菜单标题或菜单项的访问热键。如:文件(&F)
  • 13. 9.1 菜单设计9.1.4 为菜单项添加访问热键和快捷键 2、为菜单项添加快捷键 要为某个菜单项添加快捷键,只需设置该菜单项的ShortcutKeys属性。该属性默认值为None,表示没有快捷键,需要添加快捷键时,可以单击该属性右边的下拉按钮,在弹出的菜单中选择修饰符和键 其中修饰符可以使Ctrl、Shift和Alt中的一个或它们的组合 键值可以是字母A~Z,数字0~9、功能键F1~F12以及键盘上的其他一些键。
  • 14. 9.2 通用对话框通用对话框控件提供了Windows系统的一些通用功能,如打开文件、保存文件、设置打印机、选择字体和颜色等。 在工具箱中可以找到这些控件 打开文件控件:OpenFileDialog 保存文件控件:SaveFileDialog 选择颜色控件:ColorDialog 选择字体控件:FontDialog 打印文件控件:PrintDialog 页面设置控件:PageSetupDialog 打印预览控件:PrintViewDialog
  • 15. 9.2 通用对话框9.2.1 打开文件对话框 打开文件对话框(OpenFileDialog)可以用来指定要打开文件所在的驱动器、文件夹(目录)及其文件名、文件扩展名等。
  • 16. 9.2 通用对话框表9-2 打开文件对话框的常用属性及说明属性说明AddExtension获取或设置一个值,该值指示如果省略扩展名,对话框是否自动添加扩展名CheckFileExists获取或设置一个值,该值指示如果用户指定文件不存在,是否显示警告CheckPathExists获取或设置一个值,该值指示如果用户指定路径不存在,是否显示警告DefaultExt获取或设置默认文件扩展名FileName获取或设置一个包含在文件对话框中选定的文件名的字符串FileNames获取对话框中选定的所有文件的文件名Filter获取或设置当前文件名筛选器字符串,该字符串决定对话框“另存为文件类型 或”文件类型“框中出现的选择内容FilterIndex获取或设置文件对话框中当前选定筛选器的索引InitialDirectory获取或设置文件对话框显示的初始目录Multiselect获取或设置一个值,该值指示对话框是否允许选择多个文件ReadOnlyChecked获取或设置一个值,该值指示是否选定只读复选框RestoreDirectory获取或设置一个值,该值指示对话框关闭前是否还原当前目录ShowHelp获取或设置一个值,该值指示文件对话框中是否显示”帮助“按钮ShowReadOnly获取或设置一个值,该值指示文件对话框是否包含只读复选框Title获取或设置文件对话框标题
  • 17. 9.2 通用对话框表9-3 打开文件对话框的常用方法及说明方法说明Dispose释放有OpenFileDialog对话框占用的资源OpenFile打开用户选定的具有只读权限的文件。该文件由FileName属性指定Reset将所有属性重新设置为其默认值ShowDialog运行通用对话框。在调用该方法前,要设置好需要的所有属性
  • 18. 9.2 通用对话框表9-4 打开文件对话框的返回值及说明返回值说明Abort对话框的返回值为Abort(通常从标签为”终止“的按钮发送)Cancel对话框的返回值为Cancel(通常从标签为”取消“的按钮发送)Ignore对话框的返回值为Ignore(通常从标签为”忽略“的按钮发送)No对话框的返回值为No(通常从标签为”否“的按钮发送)Nonoe从对话框返回了Nothing,这表明有模式对话框继续运行Ok对话框的返回值为Ok(通常从标签为”确定“的按钮发送)Retry对话框的返回值为Retry(通常从标签为”忽略“的按钮发送)Yes对话框的返回值为Yes(通常从标签为”是“的按钮发送)使用打开文件对话框ShowDialog方法时出现打开文件对话框,用户操作后,其返回值为DialogResult枚举值,其含义如表9-4所示,
  • 19. 9.2 通用对话框9.2.2 保存文件对话框 保存文件对话框(SaveFileDialog)可以用来指定文件要保存的驱动器、文件夹及其文件、扩展名等。 保存文件对话框的常用属性如表9-5所示,其常用的方法与OpenFileDialog的相同,参见表9-3。保存文件的返回值参见表9-4所示。 参照实例P9_3:打开用户指定的文件,并可以将其存放到另外的同类型文件中。
  • 20. 9.2 通用对话框表9-5 保存文件对话框的常用属性及说明属性说明AddExtension获取或设置一个值,该值指示如果省略扩展名,对话框是否自动添加扩展名CheckFileExists获取或设置一个值,该值指示如果用户指定文件不存在,是否显示警告CheckPathExists获取或设置一个值,该值指示如果用户指定路径不存在,是否显示警告CreatePrompt获取或设置一个值,该值指示如果用户指定文件不存在是否提示用户允许创建DefaultExt获取或设置默认文件扩展名FileName获取或设置一个包含在文件对话框中选定的文件名的字符串FileNames获取对话框中选定的所有文件的文件名Filter获取或设置当前文件名筛选器字符串,该字符串决定对话框“另存为文件类型 或”文件类型“框中出现的选择内容FilterIndex获取或设置文件对话框中当前选定筛选器的索引InitialDirectory获取或设置文件对话框显示的初始目录OverwritePrompt获取或设置一个值,该值指示如用户指定的文件名已存在,Save As对话框是否显示警告ReadOnlyChecked获取或设置一个值,该值指示是否选定只读复选框RestoreDirectory获取或设置一个值,该值指示对话框关闭前是否还原当前目录ShowHelp获取或设置一个值,该值指示文件对话框中是否显示”帮助“按钮Title获取或设置文件对话框标题
  • 21. 9.2 通用对话框9.2.3 颜色对话框 颜色对话框(ColorDialog)用来在调色板中选择颜色或者创建自定义颜色。 颜色对话框的常用属性及说明如表9-6所示,其常用方法及说明如表9-7所示。 使用ShowDialog方法时出现颜色对话框,用户操作后,其返回值为DialogResult枚举值,其含义参见表9-4所示。
  • 22. 9.2 通用对话框表9-6 颜色对话框的常用属性及说明属性说明AllowFullOpen获取或设置一个值,该值指示用户是否可以使用该对话框定义自定义的颜色AnyColor获取或设置一个值,该值指示对话框是否显示基本颜色集中可用的所有颜色Color获取或设置用户选定的颜色CustomColors获取或设置对话框中显示的自定义颜色集FullOpen获取或设置一个值,该值指示用于创建自定义颜色的控件在对话框打开时是否可见ShowHelp获取或设置一个值,该值指示在颜色对话框中是否显示”帮助“按钮SolidColorOnly获取或设置一个值,该值指示对话框中是否限制用户只选择纯色
  • 23. 9.2 通用对话框表9-7 颜色对话框的常用方法及说明方法说明Dispose释放由ColorDialog对话框占用的资源Reset将所有选项重新设置为其默认值,将最后选定的颜色从新设置为黑色,将自定义颜色重新设置为其默认值ShowDialog运行通用对话框。在调用该方法之前,要设置好需要的所有属性ToString返回表示ColorDialog的字符串
  • 24. 9.2 通用对话框9.2.4 字体对话框 字体对话框(FontDialog)设置并返回所用字体的名称、样式、大小、效果及颜色。使用ShowFont方法启动字体对话框。 字体对话框的常用属性及说明如表9-8所示,其常用方法及说明如表9-9所示。
  • 25. 9.2 通用对话框表9-8 字体对话框的常用属性及说明属性说明Color获取或设置选定字体的颜色Font获取或设置选定的字体MaxSize获取或设置用户可选择的最大磅值MinSize获取或设置用户可选择的最小磅值ShowApply获取或设置一个值,该值指示对话框打是否包含”应用“按钮ShowColor获取或设置一个值,该值指示在对话框是否显示颜色选择ShowEffects获取或设置一个值,该值指示对话框中是否包含允许用户指定删除线、下划线和文本颜色选择的控件ShowHelp获取或设置一个值,该值指示在颜色对话框中是否显示”帮助“按钮
  • 26. 9.2 通用对话框表9-9 字体对话框的常用方法及说明方法说明Dispose释放由FontDialog对话框占用的资源Reset将所有选项重新设置为其默认值ShowDialog运行通用对话框。ToString返回表示FontDialog的字符串 使用ShowDialog方法时出现字体对话框,用户操作后,其返回值为DialogResult枚举值,其含义参见表9-4所示。
  • 27. 图像列表框(ImageList)控件的作用是存储图像,构成一个图像库列表。 ImageList控件是一个非可视化的控件。 在C#中具有ImageList属性的控件有: Label、Button、RadioButton、CheckBox、ToolBar、TreeView、ListView等控件,一旦在窗体上建立好ImageList控件后,这些控件的ImageList属性的下拉列表中都会有一个对应名称的图像列表供选定使用。 9.3 图像列表框控件
  • 28. 9.3.1 建立ImageList控件 在窗体上建立ImageList控件的步骤如下: (1)添加控件imageList1。 (2)设置其”Images“属性,在”图像集合编辑器“中添加图像文件。 9.3 图像列表框控件
  • 29. 9.3 图像列表控件9.3.2 ImageList控件的属性 ImageList控件的常用属性及说明如表9-10所示。 表9-10 ImageList控件的常用属性及说明属性说明Images是一个集合对象,表示存储在ImageList控件中的图像ColorDepth用来设定图像的色彩数目。可取值有Depth4Bit、 Depth8Bit(默认值)、 Depth16Bit、 Depth24Bit、 Depth32BitTranparentColor用来指定某个颜色为透明色(默认为白色)ImageSize用来设定图像表中图像的大小,默认值为(16,16),分别为图像的宽度和高度
  • 30. 9.3 图像列表框控件9.3.3 Images集合的属性和方法 Images集合作为图像列表控件的属性,也具有属性和方法。主要原因是它是一个集合,需要对集合的元素进行进一步的操作。其常用属性及说明如表9-11所示,其常用方法及说明如表9-12所示。 Images集合的属性说明CountImages集合中图像的个数Item获取或设置Images集合中指定索引处的图像表9-11 Images集合的常用属性及说明
  • 31. 9.3 图像列表框控件9.3.3 Images集合的属性和方法 Images集合作为图像列表控件的属性,也具有属性和方法。主要原因是它是一个集合,需要对集合的元素进行进一步的操作。其常用属性及说明如表9-11所示,其常用方法及说明如表9-12所示。 Images集合的方法说明Add用来将指定的图像文件加载到控件内。RemoveAt删除ImageList控件内的图像文件。Clear将图像列表中的所有图像全部清除表9-12 Images集合的常用方法及说明
  • 32. 9.4 树形视图控件9.4.1 TreeView控件概述 树形视图(TreeView)以分级或分层视图的形式显示信息,如同Windows中显示的文件和目录。 树形视图(TreeView)控件由一些层叠的节点(即TreeNode节点)分支构成,每个节点由图像和标签组成。每个TreeView控件包括一个或多个根节点,根节点下面包括多个子节点,子节点下面还可以再包括子节点,具有子节点的节点可以收缩或展开。对TreeView控件的操作实际上是对节点的操作。
  • 33. 9.4 树形视图控件9.4.1 TreeView控件概述 TreeView控件中节点的层次结构如下: treeView1.Nodes:treeView1控件下的所有子节点。 treeView.Nodes[0]: 第一层第一个节点 treeView.Nodes[1]: 第一层第二个节点 treeView.Nodes[0].Nodes:第一层第一个节点的所有子节点 treeView.Nodes[0].Nodes[0]:第一层第一个节点的第一个子节点 treeView.Nodes[0].Nodes[1]:第一层第一个节点的第二个子节点 treeView.Nodes[0].Nodes[3].Nodes[2]:第一层第一个节点下的第四个子节点的第三个子节点
  • 34. 9.4 树形视图控件9.4.2 建立TreeView控件 在窗体上建立TreeView控件的步骤如下: (1)添加控件treeView1。(拖放或者双击) (2)设置treeView1的”Nodes“属性,在”图像集合编辑器“中添加图像文件。 ImageIndex属性的下拉列表框用来设置节点的图像 SelectedImageIndex属性的下拉列表框用来设置选中节点的图像
  • 35. 9.4 树形视图控件9.4.3 TreeView控件的属性 表9-13 TreeView控件的常用属性及说明属性说明CheckBoxed指示是否在节点旁显示复选框Dock定义要绑定到容器的控件边框ImageIndex节点默认的图像列表索引值ImageList从中获取图像的ImageList控件Indent子节点的缩进宽度(以像素为单位)Nodes获取TreeNode对象的集合,它表示TreeView控件中的根节点SelectedNode获取或设置当前选定的节点SelectedImageIndex选定节点的默认的图像列表索引值ShowLines获取或设置一个值,用以指示是否在同级节点和父节点之间绘制连线ShowRootLines获取或设置一个值,用以指示是否在根节点之间绘制连线
  • 36. 9.4 树形视图控件9.4.4 TreeView控件的事件和方法 表9-14 TreeView控件的常用事件及说明TreeView的事件说明SelectedNodeChanged当选择TreeView控件中的节点时发生TreeNodeCollapsed当折叠TreeView控件中的节点时发生AfterCollapse当折叠节点后发生TreeNodeExpanded当扩展TreeView控件中的节点时发生AfterExpanded当扩展节点后发生表9-15 TreeView控件的常用方法及说明TreeView的方法说明CollapseAll折叠树中的每个节点ExpandAll扩展树中的每个节点FindNode检索TreeView控件中指定路径处的TreeNode对象
  • 37. 9.4 树形视图控件9.4.5 Nodes集合和TreeNode对象 Nodes是TreeView控件的一个属性,它也是一个节点集合。每个节点就是一个TreeNode对象。 1. Nodes集合的属性和方法表9-16 Nodes集合的常用属性及说明Nodes集合的属性说明Count集合中总的节点个数IsReadOnly指示集合是否只读
  • 38. 9.4 树形视图控件1. Nodes集合的属性和方法表9-17 Nodes集合的常用方法及说明Nodes集合的方法说明Add增加新的节点Contains确定指定节点是否为集合成员IndexOf返回集合中指定节点的索引Insert在指定为位置上插入一个节点Remove从集合中删除指定的节点RemoveAt从集合中删除指定索引处的节点
  • 39. 9.4 树形视图控件2. TreeNode对象的属性和方法表9-18 TreeNode对象的常用属性及说明TreeNode的属性说明Checked获取或设置一个值,指示TreeNode是否被选中FirstNode获取TreeNode集合中的第一个子TreeNodeFullPath设置从根TreeNode到当前TreeNode的路径ImageIndex获取或设置当TreeNode处于未选定时所显示图像的图像列表的索引值IsEditing获取一个值,用以指示TreeNode是否处于可编辑状态IsExpanded获取一个值,用以指示TreeNode是否处于可展开状态IsSelected获取一个值,用以指示TreeNode是否处于选定状态LastNode获取最后一个TreeNodeName获取或设置TreeNode的名称NextNode获取同一级的下一个TreeNodeNodes获取当前TreeNode的TreeNode对象的集合Parent获取当前TreeNode的父TreeNodePrevNode获取同一级的上一个TreeNodeSelectedImageIndex获取或设置当TreeNode处于选定时所显示图像的图像列表的索引值Text获取或设置在TreeNode标签中显示的文本
  • 40. 9.4 树形视图控件2. TreeNode对象的属性和方法表9-19 TreeNode对象的常用方法及说明TreeNode的方法说明Collapse折叠TreeNodeEquals确定两Object对象是否相等Expand展开TreeNodeExpandAll展开所有的TreeNodeGetNodeCount返回子TreeNode的数目Remove从树视图控件中移除指定的TreeNodeRemoveAt从树视图控件中移除指定索引的TreeNodeToggle将TreeNode切换为展开或折叠状态
  • 41. 9.4 树形视图控件9.4.6 运行时TreeView控件的基本操作 1. 添加节点 给TreeView添加节点用到的是Nodes集合的Add方法。方式: treeView1.Nodes[index1].Nodes[index2].Add(要添加的节点的文本)
  • 42. 9.4 树形视图控件9.4.6 运行时TreeView控件的基本操作 2. 删除节点 要删除一个节点,使用RemoveAt或Remove方法。例如,要删除第一层第二个节点的第三个子节点。 treeView1.Nodes[1].Nodes. RemoveAt(2);
  • 43. 9.4 树形视图控件9.4.6 运行时TreeView控件的基本操作 3. 查找所选节点的所有子节点 先获取用户在TreeView控件中选取的节点,如存在这样的节点,且它存在子节点,则在一个列表框中显示所有子节点的文本。如下: TreeNode node=treeView.SelectedNode; listBox1.Items.Clear(); if(node==null) MessageBox.Show(“没有选中任何节点”,”信息提示”,MessageBoxButtons.OK); else if(node.Nodes.Count==0) MessageBox.Show(“所选节点没有任何子节点”,”信息提示”,MessageBoxButtons.OK); else foreach(TreeNode node1 in node.Nodes) listBox1.Items.Add(node1.Text); 参照实例P9_4
  • 44. 9.5 列表视图控件9.5.1 ListView控件概述 列表视图控件(Listview)控件与TreeView控件类似,都是用来显示信息,只是TreeView控件以树形形式显示信息,而ListView控件以列表形式显示信息,能够用来制作像Windows中”控制面板“那样的用户界面。 ListView控件可以以5种不同的视图模式显示数据。 大图标(LargeIcon) 小图标(SmalIIcon) 列表(List) 详细资料(Details) 完整图标(Tile)
  • 45. 9.5 列表视图控件9.5.2 建立ListView控件 (1)添加控件listView1。 (2)添加ImageList控件并设置其Images属性 (3)设置listView1控件的ImageList属性 (4)设定listView1控件的Items属性和每个项的SubItems属性
  • 46. 9.5 列表视图控件9.5.3 ListView控件的属性 表9-20 ListView控件的常用属性及说明ListView控件的属性说明Alignment获取或设置控件中项的对其方式CheckBoxes获取或设置一个值,该值指示控件中各项的旁边是否显示复选框Columns获取控件中显示的所有列标头的集合Dock获取或设置停靠父控件的方式FullRowSelect获取或设置一个值,该值指示单击某项是否选择其所有的子项GridLines获取或设置一个值,该值指示在包含控件中行和列间是否显示网格线Items获取包含控件中所有项的集合LargeImageList获取或设置当项以大图标显示时使用的ImageListMultiSelect获取或设置一个值,该值指示是否可以选择多项SelectedItems获取在控件中选定的项SmallImageList获取或设置当项以小图标显示时使用的ImageListSorting获取或设置控件中项的排列顺序View获取或设置在控件中的显示方式,其可取值为前面介绍的5中显示模式值
  • 47. 9.5 列表视图控件9.5.4 ListView控件的事件和方法 表9-21 ListView控件的常用事件及说明ListView控件的事件说明Click在单击控件时发生ColumnClick当用户在列表视图控件中单击列标头时发生ItemActivate当激活项时发生ItemChecked当某项的选中状态更改时发生ItemSelectionChanged当项的选定状态发生更改时发生表9-22 ListView控件的常用方法及说明ListView控件的方法说明Clear从控件中移除所有项和列Contains检索一个值,该值指示指定控件是否为一个控件的子控件Sort对列表视图的项进行排序
  • 48. 9.5 列表视图控件9.5.5 Items集合和ListViewItem对象 Items是ListView控件的一个属性,它也是一个项的集合。每个项就是一个ListViewItem对象表9-23 Items集合的常用属性及说明Items集合的属性说明Count集合中总的项数IsReadOnly指示集合是否只读表9-24 Items集合的常用方法及说明Nodes集合的方法说明Add增加新的项Contains确定指定项是否为集合成员IndexOf返回集合中指定项的索引Insert在指定为位置上插入一个项Remove从集合中删除指定的项RemoveAt从集合中删除指定索引处的项
  • 49. 9.5 列表视图控件9.5.5 Items集合和ListViewItem对象 表9-25 ListViewItem对象的常用属性及说明ListViewItem的属性说明Checked获取或设置一个值,指示ListViewItem是否被选中ImageList获取ImageList,它包含与该项一起显示的图像ImageIndex获取或设置该项显示图像的索引Index获取控件中该项的索引ListView获取包含该项的ListView控件Selected获取一个值,该值指示是否选定此项SubItems获取包含该项的所有子项的集合Name获取或设置与此ListViewItem关联的名称Text获取或设置该项的文本
  • 50. 9.5 列表视图控件9.5.5 Items集合和ListViewItem对象 表9-26 ListViewItem对象的常用方法及说明ListViewItem的方法说明Remove从关联的ListView控件中移除此项GetSubItemAt返回位于指定坐标位置的ListViewItem的子项FindNearestItem从ListViewItem查找下一项,按指定的方向搜索
  • 51. 9.5 列表视图控件9.5.6 Columns集合和ColumnHeader对象 Columns是Listview控件的一个属性,也是一个集合,该集合包含ListView 控件中显示的列标头(即ColumnHeader对象,如listView1.Columns[index]表示列集合中索引为index的列标头)。列标头定义当View属性设置为Details时显示在ListView控件中的列,各列用于显示ListView中的各项的子项信息。
  • 52. 9.5 列表视图控件9.5.6 Columns集合和ColumnHeader对象 1. Columns集合的属性和方法 Columns集合的常用属性及说明如表9-27所示,其常用方法如表9-28所示。表9-27 Columns集合的常用属性及说明Columns集合的属性说明Count集合中总的列标题个数IsReadOnly指示该集合是否是只读的
  • 53. 9.5 列表视图控件9.5.6 Columns集合和ColumnHeader对象 1. Columns集合的属性和方法 Columns集合的常用属性及说明如表9-27所示,其常用方法如表9-28所示。表9-28 Columns集合的常用方法及说明Columns集合的方法说明Add增加新的列标题Contains确定指定的列标题是否为集合成员IndexOf返回集合中指定列标题的索引Insert在指定为位置上插入一个列标题Remove从集合中删除指定的列标题RemoveAt从集合中删除指定索引处的列标题
  • 54. 9.5 列表视图控件9.5.6 Columns集合和ColumnHeader对象 2. ColumnHeader对象的属性和方法 ColumnHeader对象的常用属性及说明如表9-29所示,其方法较少使用。如: ColumnHeader h1=new ColumnHeader(); //定义列标头对象h1 ColumnHeader h2=new ColumnHeader(); //定义列标头对象h2 h1.Text=“File name”; //指定h1的Text属性 h1.TextAlign=HorizontalAlignment.Left; //指定h1的TextAlign属性 h1.Width=70; //指定h1的Width属性 h2.Text=“Location”; //指定h2的Text属性 h2.TextAlign=HorizontalAlignment.Left; //指定h2的TextAlign属性 h2.Width=200; //指定h1的Width属性 listView1.Columns.Add(h1); //将h1的添加到listView1中 listView1.Columns.Add(h2); //将h2的添加到listView1中 listView1.Columns[0].Text=“Name”; //将第一个列标头改为Name
  • 55. 9.5 列表视图控件9.5.6 Columns集合和ColumnHeader对象 2. ColumnHeader对象的属性和方法表9-29 ColumnHeader对象的常用属性及说明ColumnHeader的属性说明ImageList获取ImageList,它包含与该列标题项关联的图像ImageListIndex获取或设置为该列标题显示的图像的索引Index获取ListView控件中该列标题的从零开始的索引ListView获取列标题所位于的ListView控件Name获取或设置ColumnHeader的名称Text获取或设置该项的文本TextAlign获取或设置ColumnHeader中所显示文本的水平对齐方式
  • 56. 9.5 列表视图控件9.5.7 运行时ListView控件的基本操作 1. 添加项和子项 给ListView添加项用到的是Items集合的Add方法,如: item=listView1.Items.Add(“李华”,0); 就是添加一个项,其中0为对应的图像的索引。当添加一个项后,可以为它添加子项,如: item.SubItems.Add(“男”); 就是添加一个子项目。
  • 57. 9.5 列表视图控件9.5.7 运行时ListView控件的基本操作 2. 删除项和子项 要删除一个项时,先要找到指定项,然后使用Remove和RemoveAt方法,如: listView1.Items.Remove (0); 就是删除第一个项。同样也可删除子项,如: listView1.Items[0].SubItems.RemoveAt(0); 就是删除第一个项的第一个子项。
  • 58. 9.5 列表视图控件9.5.7 运行时ListView控件的基本操作 3. 删除列标题 删除列标题是使用Columns集合的Remove或RemoveAt方法,如: listView1.Columns.Remove (0); 就是删除第一个列标题。 参照实例P9_5
  • 59. 9.6 工具栏控件工具栏控件(ToolStrip)以其直观、快捷的特点出现在各种应用程序中,这样用户不必在一级级的菜单中搜寻需要的命令,方便了用户。 9.6.1 建立ToolStrip控件 (1)添加ToolStrip控件toolStrip1。 (2)添加ImageList控件,并设置其Images属性 (3)设置toolStrip1的Items属性。
  • 60. 9.6 工具栏控件9.6.2 ToolStrip控件的属性 表9-30 ToolStrip控件的常用属性及说明ToolStrip的属性说明AutoSize获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容ImageList获取或设置包含ToolStrip项上显示的图像的图像列表ItemsToolStrip控件中包含的项集合ShowItemToolStrip获取或设置一个值,该值指示是否要在ToolStrip项上显示工具提示Text获取或设置与此控件关联的文本Visible获取或设置一个值,该值指示是否显示该控件Width获取或设置控件的宽度
  • 61. 9.6 工具栏控件9.6.3 Items集合和ToolStripButton对象 Items是ToolStrip控件的一个属性,它也是一个项集合。每个项就是一个ToolStripButton。 1. Items集合的属性和方法 Items集合的常用属性及说明如表9-31所示,其常用方法及说明如表9-32所示。表9-31 Items集合的常用属性及说明Items集合的属性说明Count集合中总的项的个数IsReadOnly指示该集合是否是只读的
  • 62. 9.6 工具栏控件9.6.3 Items集合和ToolStripButton对象 Items是ToolStrip控件的一个属性,它也是一个项集合。每个项就是一个ToolStripButton。 1. Items集合的属性和方法 Items集合的常用属性及说明如表9-31所示,其常用方法及说明如表9-32所示。表9-32 Items集合的常用方法及说明Items集合的方法说明Add增加新的项Contains确定指定的项是否为集合成员IndexOf返回集合中指定项的索引Insert在指定为位置上插入一个项Remove从集合中删除指定的项RemoveAt从集合中删除指定索引处的项
  • 63. 9.6 工具栏控件9.6.3 Items集合和ToolStripButton对象 2. ToolStripButton对象的属性和事件 在ToolStrip中最常见的是添加按钮即ToolStripButton对象,它的常用属性及说明如表9-33所示。其方法很少用,其事件主要有Click事件
  • 64. 9.6 工具栏控件9.6.3 Items集合和ToolStripButton对象表9-33 ToolStripButton对象的常用属性及说明ToolStripButton属性说明BackColor获取或设置项的背景色CanSelect获取一个值,该值指示ToolStripButton是否可选Checked获取或设置一个值,该值指示是否已按下了ToolStripButtonEnabled获取或设置一个值,该值指示是否启用了ToolStripItem的父控件Font获取或设置该项显示的文本的字体ForeColor获取或设置项的前景色Height获取或设置ToolStripItem的高度ImageList获取或设置显示在ToolStripItem上图像的索引ImageAlign获取或设置在ToolStripItem上图像的对齐方式TextAlign获取或设置在ToolStripLabel上文本的对齐方式TextImageRelation获取或设置文本和图像之间的关系ToolTiptext获取或设置作为控件的ToolTip显示的文本Visible获取或设置一个值,该值指示是否显示该项Width获取或设置ToolStripItem的宽度
  • 65. 9.7 状态栏控件状态栏控件(StatusStrip)和菜单、工具栏一样是Windows应用程序的一个特征,它通常位于窗体的底部,应用程序可以在该区域中显示提示信息或应用程序的当前状态灯各种状态信息。 9.7.1 建立StatusStrip控件 (1)添加StatusStrip控件statusStrip1。 (2)设置statusStrip1的Items属性。
  • 66. 9.7 状态栏控件9.7.2 StatusStrip控件的属性 StatusStrip控件的常用属性及说明如表9-34所示 表9-34 StatusStrip控件的常用属性及说明ToolStrip的属性说明AutoSize获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容BackColor获取或设置ToolStrip的背景色BackgroundImage获取或设置在控件中显示的背景图像Font获取或设置用于在控件中显示文本的子图ForeColor获取或设置ToolStrip的前景色Height获取或设置控件的高度ItemsStatusStrip控件包含的项集合Name获取或设置控件的名称Size获取或设置控件的高度和宽度Text获取或设置与此控件关联的文本Visible获取或设置一个值,该值指示是否显示该控件Width获取或设置控件的宽度