《.Net三层应用结构开发》第十三章ppt课件_第1页
《.Net三层应用结构开发》第十三章ppt课件_第2页
《.Net三层应用结构开发》第十三章ppt课件_第3页
《.Net三层应用结构开发》第十三章ppt课件_第4页
《.Net三层应用结构开发》第十三章ppt课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.Net 第十三章第十三章目的目的掌握 ListView 控件掌握 TreeView 控件ListView 控件控件 2-1可折叠的 TreeViewListView选择列出工程的视图类型ListView 控件控件 2-2创建与 Windows 资源管理器的右窗口类似的用户界面可用于以特定款式或视图类型显示列表项四种视图方式,即大图标、小图标、列表和详细资料ListView 控件的属性和方法控件的属性和方法ColumnsItemsSelectedItemsViewCheckBoxesCheckedItemsSelectedItemsFullRowSelectHoverSelectionGrid

2、LinesClear()GetItemAt()Sort()Column 集合和集合和 Column 对象对象ListView 控件的 Columns 属性表示控件中出现的一切列标题的集合列标题是 ListView 控件中包含标题文本的一个项ColumnHeader 对象定义在控件的 View 属性设置为“Details值时,作为 ListView 控件的一部分显示的那些列 假设 ListView 控件没有没有任何列标题,并且 View 属性设置为 Details,那么 ListView 控件不显示任何项添加列标题添加列标题方法一:ColumnHeader objHeader=new Colum

3、nHeader(); objHeader.Text=姓名; objHeader.TextAlign=HorizontalAlignment.Center ; objHeader.Width=100; lvPerson.Columns.Add(objHeader);方法二:lvPerson.Columns.Add ( 姓名 , 60 , HorizontalAlignment.Right ) ;添加多个列应该如何做?项集合和项对象项集合和项对象ListView 控件的 Items 属性表示包含控件中一切项的集合 该属性前往 ListView.ListViewItemCollection,可以用于

4、 ListView 中添加新项、删除项或计算可用项数 添加记录添加记录ListViewItem lstItem = new ListViewItem (name, 图片索引) ; lstItem.SubItems.Add ( “ ) ; /第1列lstItem.SubItems.Add ( “ ) ; /第2列 lstItem.SubItems.Add ( “ ) ; /第n列lvPerson.Items.Add(lstItem)实例化一个ListViewItem设置各列的数值将定义好的数值添加到ListView里面添加多行数据怎样办?TreeView 控件控件 2-1TreeView 控件控

5、件 2-2用于以节点方式显示文本或数据,这些节点按层次构造顺序陈列Windows 资源管理器中左窗格所包含的目录和文件是以树型视图款式陈列的在 TreeView 控件中,复选框和图标可以和文本一同显示节点集和节点对象节点集和节点对象TreeView 控件的 Nodes 属性表示为 TreeView 控件指定的树节点集 树节点集中的每个树节点对象可包括它本身的树节点集树节点集中 Add()、Remove() 和 RemoveAt() 方法使开发人员可添加和挪动集中的单个树节点 添加、修正和删除节点添加、修正和删除节点 3-1 TreeView 控件以层次构造方式显示节点在将新节点添加到现有 Tr

6、eeView 时,重要的是留意新节点所添加到的父节点可用设计器方式或用户界面在 TreeView 上添加或删除节点添加、修正和删除节点添加、修正和删除节点 3-2在窗体上选择已存在的 TreeView 控件或在窗体上添加一个新控件在“属性窗口中单击节点属性旁的省略号 () 按钮,调用树节点编辑器添加到树的第一个节点是根节点,其他节点可添加到存在根节点的树上经过选择根节点或任何其他节点,然后单击“添加子级按钮,可为树添加子节点要运用树节点编辑器删除节点,请反复步骤 1 和 2。调用树节点编辑器,然后选择要删除的节点,单击“删除添加、修正和删除节点添加、修正和删除节点 3-3可经过编程方式向 Tr

7、eeView 添加节点TreeNode chNode = new TreeNode(Text for new node);tvwTree1.currNode.Nodes.Add (chNode);可经过编程方式从 TreeView 删除节点.tvwTree1.Nodes.Remove(tvwTree1.currNode);/ 去除一切节点tvwTree1.Nodes.Clear();假设没有选定要删除的节点,那么会删除根节点TreeView 控件的属性和事件控件的属性和事件AfterCheckAfterCollapseAfterExpandAfterSelectBeforeCheckBefor

8、eCollapseBeforeExpandBeforeSelectTreeView 控件名的前缀是 tvw如:tvwTree, tvwListIndentCheckBoxesHideSelectionSelectedNodeShowLinesShowPlusMinusShowRootLinesSortedHotTracking程序实例程序实例需求需求列出文件夹的TreeView对TreeView的控制显示节点的属性添加盘符添加盘符private void FilltvwDirectory() string drives = Environment.GetLogicalDrives(); /获取

9、当前设备盘符,并添加到数组driversl里面 for (int i = 0; i drives.Length; i+) TreeNode cRoot = new TreeNode(drivesi); /这里可以写成/TreeNode cRoot=new TreeNode();/cRoot.Text=driversi;tvwDirectory.Nodes.Add(cRoot);AddDirectories(cRoot);/添加该盘符下的文件夹 获取盘符并添加到数组里面将该盘符添加到TreeView并调用AddDirectories()方法添加盘符下的文件夹添加下一级文件夹添加下一级文件夹pri

10、vate void AddDirectories(TreeNode node) try DirectoryInfo dir = new DirectoryInfo(GetPathFromNode(node); DirectoryInfo e = dir.GetDirectories(); for (int i = 0; i e.Length; i+) string name = ei.Name; if (!name.Equals(.) & !name.Equals(.) /判别能否是上级目录 node.Nodes.Add(new TreeNode(name); catch (Exception

11、 e) MessageBox.Show(e.Message); 利用GetPathFromNode方法获取当前节点的途径并找到他的下级文件夹,之后添加到DirectoryInfo数组内假设文件夹不是前往上级目录标志那么添加到TreeView里面展开节点展开节点private void tvwDirectory_BeforeExpand(object source, TreeViewCancelEventArgs e) TreeNode nodeExpanding = (TreeNode)e.Node;AddSubDirectories(nodeExpanding);/调用AddDirector

12、ies将该节点的字节点添加到树图中该节点下private void AddSubDirectories(TreeNode node) for (int i = 0; i node.Nodes.Count; i+) AddDirectories(node.Nodesi);用户点击“+展开下一级目录时调用此事件添加下级目录排序节点排序节点private void chkOrder_Click(object source, EventArgs e) this.tvwDirectory.Sorted = chkOrder.Checked; /树图排序for (int i = 0; i 0) if (n

13、ode.IsExpanded) string tooBigExpandedNodes = new stringnode.GetNodeCount(true); int iExpandedNodes = Refresh_GetExpanded(node, tooBigExpandedNodes,0); string expandedNodes = new stringiExpandedNodes; Array.Copy(tooBigExpandedNodes, 0, expandedNodes, 0, iExpandedNodes);node.Nodes.Clear();AddDirectori

14、es(node);AddSubDirectories(TreeNode)node);node.Expand();for (int j = 0; j 0) Refresh_Expand(node.Nodesj, expandedNodes); else node.Nodes.Clear();AddDirectories(node); else node.Nodes.Clear(); AddDirectories(node); 获取曾经展开的节点,并把它存放在数组中将当前展开的节点添加到TreeView并展开它的子节点获取展开节点获取展开节点private int Refresh_GetExpan

15、ded(TreeNode Node, string ExpandedNodes, int StartIndex) if (StartIndex ExpandedNodes.Length) if (Node.IsExpanded) ExpandedNodesStartIndex = Node.Text;StartIndex+;for (int i = 0; i = 0; i-) if (ExpandedNodesi = Node.Text) AddSubDirectories(TreeNode) Node); Node.Expand(); for (int j = 0; j Node.Nodes.Count

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论