C#编程基础(下)第四课:ListView控件、ContextMenuStrip控件和TreeView控件的使用
知识点:ListView控件、ContextMenuStrip控件和TreeView控件的使用。
1、ListView控件的使用
ListView控件,又称为列表视图控件,它主要用于显示带图标的项列表,其中可以显示大图标、小图标和数据。使用ListView控件可以创建类似Windows资源管理器右边窗口的用户界面。
要实现这样的界面,需要用到两个控件ListView以列表形式展示数据和ImageList控件用来保存界面中的图标。列表视图有5种视图模式(View属性):大图标、小图标、列表、详细信息、平铺。
1.1 制作文件资源管理器窗体
第一步:新建项目,设置窗体Name属性为FrmMyPC,Text属性为“我的电脑”
第二步:在工具箱里拖一个ListView控件到窗体上,设置控件的Name属性为lvMyComputer,并适当调整控件大小(控件大小,将作为数据展示区大小)。
第三步:从工具箱拖动ImageList控件到窗体上,并设置Name属性为ilLarge,ImageSize属性值为32,32(这里是设置图片大小)
第三步:从工具箱中再拖动一个ImageList控件到窗体上,并设置Name属性为ilSmall。
第四步:分别选中两个图片控件:ilLarge和ilSmall,在属性面板设置Images,添加图片集合。(因为大小图标显示的图片应该是一样的,只是尺寸不一样,因此两个控件的Images属性设置为一样)
第五步:修改ListView控件的属性,选中控件,点击控件右上角的小三角形,设置小ImageList为ilSmall,设置大ImageList为ilLarge。
第六步:修改ListVIew控件的【编辑项】,依次添加C盘、D盘、E盘,并设置相应的图像索引,修改Text和ImageIndex。方法:选中ListVIew控件后,点击右上角的三角形,选择【编辑项】,在弹出的窗体中点击【添加】,会增加一个ListViewItems(成员),然后再到右侧设置它的Text属性和ImageIndex属性(图片索引,用来该子项对应的图片是哪一个)
当我们在给ListView控件添加成员的时候,会在窗体设计界面看到添加效果,成员添加完成后点击确定即可。
第七步:在工具箱里拖两个Button控件到窗体上,并分别设置Name属性和Text属性。
第八步:给两个按钮添加事件,实现效果:当用户点击【大图标】时以大图标形式展示(32*32),当用户点击【小图标】时以小图标形式展示(16*16)
实现方法:双击【大图标】按钮,进入代码编辑模式,添加一行代码:this.lvMyComputer.View = View.LargeIcon;
双击【小图标】按钮,进入代码编写模式,添加一行代码:this.lvMyComputer.View = View.SmallIcon;
第九步:启动运行,查看效果。分别点击两个按钮时,图标大小不一样。
第十步:给ListView控件里的数据进行分组。选中ListView控件后,在属性面板设置Groups属性,点击后在弹出的面板里点击【添加】,新添加一个分组,设置Header属性为分组名称。需要几个分组,就【添加】几个,全部分组设置好以后,点击【确定】。
第十一步:将原有的数据划分到对应的分组。选中ListView控件后,在属性面板修改Items属性,点击按钮进入集合编辑器,依次选中每一个成员,在右侧设置Group属性,点击对应组名称即可。
结果演示:
1.2 实现ListView控件的详细视图模式
第一步:选中ListView控件,在属性面板设置Columns属性,在打开的ColmunHeader集合编辑器中添加列标题,点击【添加】,新添加一个列,并设置Text属性为列的名称。所有列添加完成后,点击【确定】。这里一共添加4个列的名称:名称、类型、总大小、可用空间。
第二步:设置ListView控件中每个数据的详细信息。
1)选中ListView控件,在其右上角点击黑色三角形,在弹出的选项中点击【编辑项】
2)在弹出的ListView集合编辑器窗体中,依次选中每一个数据,设置该数据的SubItems属性,点击SubItems属性,再点击出现的按钮,会弹出ListViewSubItems集合编辑器窗体。
3)在弹出的ListViewSubItems集合编辑器窗体中,点击【添加】,会新添加一个成员,依次设置该成员的Text属性为列表项【类型、总大小、可用空间】所对应的值。
4)所有添加完成后,点击【确定】。
zh
第三步:添加一个按钮控件。拖动Button控件到窗体上适合的位置,并修改Name属性为btnDetails,Text属性为“详细视图”。
第四步:给按钮【详细视图】添加事件。双击按钮【详细视图】,进入代码编写模式,添加一行代码:this.lvMyComputer.View = View.Details;
结果演示:
2、使用ContextMenuStrip控件制作右键快捷菜单
单击鼠标右键出现的菜单我们称之为快捷菜单,我们可以使用快捷菜单控件ContextMenuStrip控件来实现。
第一步:从工具箱中拖放ContextMenuStrip控件到窗体中,并在属性面板修改它的Name属性为cmsView。
第二步:给ContextMenuStrip控件添加菜单项。方法有点类似菜单栏控件的使用,在提示框里依次输入:大图标、小图标、详细信息,并分别设置他们的Name属性。
第三步:双击每个菜单项编写事件代码。
双击大图标,进入代码编写模式,添加代码:this.lvMyComputer.View = View.LargeIcon;
双击小图标,进入代码编写模式,添加代码:this.lvMyComputer.View = View.SmallIcon;
双击详细视图,进入代码编写模式,添加代码:this.lvMyComputer.View = View.Details;
注意:如果在窗体的设计界面,看不到快捷菜单信息了,可以点击窗体下方的ContextMenuStrip控件名称,就会在窗体界面显示该控件的相关内容。
第四步:设置ListView控件的ContextMenuStrip属性为cmsView。方法:在窗体设计界面,选中ListView控件,然后在属性面板设置ContextMenuStrip的属性点选cmsView。
结果演示:
3、使用TreeView控件制作树形文件目录
使用 Windows 窗体 TreeView 控件,可以为用户显示节点层次结构,就像在 Windows 操作系统的 Windows 资源管理器功能的左窗格中显示文件和文件夹一样。
在树视图中的每个节点可能包含其他节点,称为子节点。 以按展开或折叠的方式显示父节点或包含子节点的节点。 还可以通过将树视图的 CheckBoxes 属性设置为 true 来显示在节点旁边带有复选框的树视图。 然后,通过将节点的 Checked 属性设置为 true 或 false,可以采用编程方式来选中或清除节点。
第一步:新添加一个窗体,在工具箱中拖一个TreeView控件到窗体上,并适当调整大小,同时设置控件的Name属性为TVSUperStar。
第二步:在TreeView控件里添加内容。方法:选中TreeView控件后,在属性面板点击Nodes属性,在弹出的TreeNode编辑器中添加根和子级。
第三步:添加三个Button控件到窗体上,并分别设置Name属性和Text属性,添加根节点btnAddRootNode、添加子节点btnAddChildNode、删除节点btnDeleteNode。
添加一个Label控件到窗体上,修改Text属性为“请输入节点名称”。
添加一个TextBox控件到窗体上(这个控件用来接收用户输入的节点名称,并将其动态添加到TreeView里)。
第四步:给【添加根节点】按钮添加点击事件。方法:在窗体设计界面,双击按钮,进入点击事件代码编写模式。
添加根节点的代码:
[code] private void btnAddRootNode_Click(object sender, EventArgs e) { //判断要添加的节点名称是否为空,即文本框是否为空 if (string.IsNullOrEmpty(textBox1.Text.Trim())) { MessageBox.Show("要添加的节点名称不能为空!"); return; } //创建一个根节点对象 TreeNode RootNode = new TreeNode(); //指定要添加的根节点Text属性,即名称(将TextBox1控件里用户输入的数据值,赋值给根节点对象的Text属性) RootNode.Text = textBox1.Text; //执行添加根节点方法 this.tvSuperStar.Nodes.Add(RootNode); //执行完添加根节点方法后,将用户输入的内容清空 textBox1.Text = ""; }
第五步:给【添加子节点】按钮添加点击事件。方法:在窗体设计界面,双击按钮,进入点击事件代码编写模式。
[code] private void btnAddChildNode_Click(object sender, EventArgs e) { //判断要添加的节点名称是否为空,即文本框是否为空 if (string.IsNullOrEmpty(textBox1.Text.Trim())) { MessageBox.Show("要添加的节点名称不能为空!"); return; } //在选中的节点上,添加用户输入的节点名称 tvSuperStar.SelectedNode.Nodes.Add(textBox1.Text.Trim()); //执行完添加子节点方法后,将用户输入看的内容清空 textBox1.Text = ""; }
第六步:给【删除节点】按钮添加点击事件。方法:在窗体设计界面,双击按钮,进入点击事件代码编写模式。
[code] private void btnDeleteNode_Click(object sender, EventArgs e) { tvSuperStar.SelectedNode.Remove(); }
第七步:在窗体设计界面新添加一个Button控件,并设置Name属性为btnEdit,Text属性为“重命名”,双击按钮,进入代码编写模式。
[code] private void btnEdit_Click(object sender, EventArgs e) { tvSuperStar.SelectedNode.BeginEdit(); //注意:在使用这个属性的时候,必须设置treeView1控件的LabelEdit 属性值是ture,否则会提示错误。 }
结果演示:
第八步:给树形目录添加图片信息。方法:从工具箱中拖动一个ImageList组件到窗体界面,并设置Name属性为ilSuperStar,ImageSize属性为32,32。
第九步:给ImageList组件(是一个图片容器)添加图片。方法:选中ImageList组件后,在属性面板点击Images后面的按钮,在弹出的图像集合编辑器窗口中,点击【添加】,将需要的图片添加进去,然后点击【确定】。
第十步:设置TreeView控件的ImageList属性为ilSuperStar。
第十一步:设置每个节点所对应的图片信息。选中TreeView控件后,点击属性面板的Nodes属性按钮,在弹出的TreeView编辑器中,依次设置各个节点的ImageIndex图片索引和SelectedImageIndex索引。
T
结果演示:
=======================这里是结束分割线========================
- C# ListView控件的使用方法 简介
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分(转)
- c#经典编程实例(五使用窗体控件)
- C#基础视频教程3.3 常见控件类型和使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分(来源:http://blog.csdn.net/yangjundeng/archive/2005/03/17/321920.aspx)
- C# 网络编程之网页自动登录 (一).使用WebBrower控件模仿登录
- C#基础视频教程3.3 常见控件类型和使用方法
- C#.net 地图控件开发(三) GDI+图形图像编程基础1.
- C语言 SDK编程之通用控件的使用--ListView
- C#之WinForm基础 获得窗体实时的供控件使用的宽与高(窗体变,数也变)
- C#基础视频教程3.2 常见控件类型和使用方法
- C#编程基础(下)—项目实践4:使用C#开发完整版计算器(点击数字和计算符,输出计算结果,带小数点和清零效果)
- Android基础控件之ListView详细使用讲解
- C#分析数据库结构,使用XSL模板自动生成代码 - 清清月儿 .NET万花筒 Asp.net技术 Asp.net教程 Asp.net源码 Asp.net基础 Asp.net控件 Asp.net入门 - CSDNBlog
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- C#.net 地图控件开发(五) GDI+图形图像编程基础3.
- C#.net 地图控件开发(四) GDI+图形图像编程基础2.
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- Android编程之控件ListView使用方法
- C# 网络编程之网页自动登录 (一).使用WebBrower控件模仿登录