演练:使用设计器创建带有 ListView 和 TreeView 控件的资源管理器样式的界面

Visual Studio 2010
其他版本

此主题尚未评级 - 评价此主题

Visual Studio 的一个优点是能够在短时间内创建具有专业级外观的 Windows 窗体应用程序。 通常情况下,创建一个带有 ListView 和 TreeView 控件的用户界面 (UI),该界面类似于 Windows 操作系统的 Windows 资源管理器。 Windows 资源管理器显示了用户计算机上的文件和文件夹的层次结构。

注意

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置。

创建包含 ListView 和 TreeView 控件的窗体

  1. 在“文件”菜单上指向“新建”,再单击“项目”。

  2. 在“新建项目”对话框中,请执行以下操作:

    1. 在类别中选择“Visual Basic”或“Visual C#”。

    2. 在模板列表中,选择“Windows 窗体应用程序”。

  3. 单击“确定”。 随即便会创建一个新的 Windows 窗体项目。

  4. 向该窗体添加一个 SplitContainer 控件,并将其 Dock 属性设置为 Fill。

  5. 向该窗体中添加一个名为 imageList1 的 ImageList,然后使用“属性”窗口按所列顺序添加两个图像:一个文件夹图像和一个文档图像。

  6. 向该窗体添加一个名为 treeview1 的 TreeView 控件,将其置于 SplitContainer 控件的左侧。 在 treeView1 的“属性”窗口中,执行以下操作:

    1. 将 Dock 属性设置为 Fill。

    2. 将 ImageList 属性设置为 imagelist1。

  7. 向该窗体中添加一个名为 listView1 的 ListView 控件,将其置于 SplitContainer 控件的右侧。 在 listview1 的“属性”窗口中,执行以下操作:

    1. 将 Dock 属性设置为 Fill。

    2. 将 View 属性设置为 Details。

    3. 单击 Columns 属性中的椭圆 (),以打开 ColumnHeader 集合编辑器。添加三列,并将其 Text 属性分别设置为 Name、Type 和 Last Modified。 单击“确定”关闭对话框。

    4. 将 SmallImageList 属性设置为 imageList1。

  8. 实现代码以便将节点和子节点填充到 TreeView 中。 将该代码添加到 Form1 类中。

    C#
    VB

            private void PopulateTreeView(){TreeNode rootNode;DirectoryInfo info = new DirectoryInfo(@"../..");if (info.Exists){rootNode = new TreeNode(info.Name);rootNode.Tag = info;GetDirectories(info.GetDirectories(), rootNode);treeView1.Nodes.Add(rootNode);}}private void GetDirectories(DirectoryInfo[] subDirs, TreeNode nodeToAddTo){TreeNode aNode;DirectoryInfo[] subSubDirs;foreach (DirectoryInfo subDir in subDirs){aNode = new TreeNode(subDir.Name, 0, 0);aNode.Tag = subDir;aNode.ImageKey = "folder";subSubDirs = subDir.GetDirectories();if (subSubDirs.Length != 0){GetDirectories(subSubDirs, aNode);}nodeToAddTo.Nodes.Add(aNode);}}

  9. 由于以前的代码使用 System.IO 命名空间,因此需要在窗体顶部添加 using 或 import 语句。

    C#
    VB

    using System.IO;

  10. 在窗体的构造函数或 Load 事件处理方法中,调用上一步中的设置方法。 将该代码添加到窗体构造函数中。

    C#
    VB

          public Form1(){InitializeComponent();PopulateTreeView();}

  11. 处理 treeview1 的 NodeMouseClick 事件,实现代码以便在单击某个节点时,用该节点的内容来填充 listview1。 将该代码添加到 Form1 类中。

    C#
    VB

          void treeView1_NodeMouseClick(object sender,TreeNodeMouseClickEventArgs e) {TreeNode newSelected = e.Node;listView1.Items.Clear();DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;ListViewItem.ListViewSubItem[] subItems;ListViewItem item = null;foreach (DirectoryInfo dir in nodeDirInfo.GetDirectories()){item = new ListViewItem(dir.Name, 0);subItems = new ListViewItem.ListViewSubItem[]{new ListViewItem.ListViewSubItem(item, "Directory"), new ListViewItem.ListViewSubItem(item, dir.LastAccessTime.ToShortDateString())};item.SubItems.AddRange(subItems);listView1.Items.Add(item);}foreach (FileInfo file in nodeDirInfo.GetFiles()){item = new ListViewItem(file.Name, 1);subItems = new ListViewItem.ListViewSubItem[]{ new ListViewItem.ListViewSubItem(item, "File"), new ListViewItem.ListViewSubItem(item, file.LastAccessTime.ToShortDateString())};item.SubItems.AddRange(subItems);listView1.Items.Add(item);}listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);}

    如果使用的是 C#,请确保将 NodeMouseClick 事件与其事件处理方法相关联。 将该代码添加到窗体构造函数中。

    C#
               this.treeView1.NodeMouseClick += new TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);

测试应用程序


现在可以测试窗体,以确保它的行为与预期相同。

测试窗体

  • 按 F5 运行应用程序。

    您将看到一个包含 TreeView 控件的拆分窗体,该窗体左侧显示您的项目目录,右侧是分为三列的 ListView 控件。 选择目录节点可以遍历 TreeView,而 ListView 中将填充选定目录的内容。

转载于:https://www.cnblogs.com/txw1958/archive/2012/07/30/2616074.html

Visual C# 2010 实现资源管理器相关推荐

  1. 扩展Visual Studio 2010服务器资源管理器中的SharePoint结点

    Visual Studio 2010最大的卖点就是可扩展性.这样就可以借助.NET社区的力量基于VS构建出许多有用的工具.本文中我们将展示如何扩展VS2010的服务器资源管理器,在其中的SharePo ...

  2. 在 Visual Studio 的解决方案资源管理器中隐藏一些文件

    项目文件中有一些属性几乎是专门为 IDE 而准备的,不过考虑到 .NET 生态的开发者多数都使用 Visual Studio,所以基本上也只有 Visual Studio 对这些特性支持的最全面.(才 ...

  3. VS2010与.NET4系列 23.Visual Studio 2010 扩展管理器(和新的 VS2010 PowerComman

    今天介绍VS2010中的扩展能力改进,以及一个微软发布的"PowerCommands for Visual Studio 2010"扩展. VS2010中的扩展能力 VS2010比 ...

  4. Visual Stdio的解决方案资源管理器位置调整

    其实这是个极为简单的操作,可是我最初真的不会弄,哈哈,自嘲一下. 我刚装了vs2013,这个解决方案资源管理器默认靠右了,习惯了靠左,那么咋搞呢? 方法有三种: 方法一:窗口-->重置窗口布局 ...

  5. Visual Studio 2015 解决方案资源管理器

    位置 解决方案资源管理器 窗口默认位于右上角. 它与另一个窗口 类视图 位于相同的位置. 打开 类视图 可以在菜单栏中选择 视图 | 类视图 即可打开该窗口.如下图: 解决方案管理器 窗口显示了组成 ...

  6. VS2010中文旗舰版下载 Visual Studio 2010 Ultimate

    Visual Studio 是微软公司推出的开发环境.是目前最流行的 Windows 平台应用程序开发环境.目前已正式发布的是 9.0 版本,也就是 Visual Studio 2008,而在2008 ...

  7. 用资源管理器右键编译 Visual Studio 解决方案文件

    每次改动 VC 工程之后都要重新编译,每次 VS 又会生成调试数据库文件,很费时间,于是研究了一下如何在资源管理器中直接编译,还真发现了解决办法. 以下是适用 Visual Studio 2008 的 ...

  8. 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门

    1.1 环境 Visual Studio + GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Me ...

  9. Visual Studio 2012资源管理器里单击打开改为双击打开文件

    Visual Studio 2012资源管理器里,单击打开文件改为双击打开文件,如图:

最新文章

  1. 内核编译配置选项含义
  2. java解析string_java读取文件内容为string字符串的方法
  3. 排行榜上用C++写局域网聊天程序
  4. 2018年的最后一篇随笔
  5. JVM Specification 9th Edition (1) Cover
  6. 谨防欺诈,Facebook 禁止加密货币和 ICO 广告
  7. 源码解析:修改mysql密码出现错误1045
  8. asp:Button 事件,点击事件 html Button runat=sever
  9. Python CGI编程
  10. vector,list,deque容器的迭代器简单介绍
  11. cygwin下载可以用的服务器
  12. 标准ASCII编码表
  13. eclipse下载以及下载web插件速度慢的解决方法
  14. arcgis 批量计算几何_GIS中的计算几何
  15. ps cc2019 安装教程
  16. “卖给我一支笔”:乔布斯会如何应对这个经典问题?
  17. 922175-70-0,Galacto-RGD,RGDfK(SAA),νβ3表达成像示踪剂
  18. 2022秋季C语言专题实验07
  19. FPGA设计实战演练(高级技巧篇)
  20. Cross Domain Knowledge Transfer for Person Re-identification笔记

热门文章

  1. Algs4-1.5.4给出id[]和sz[]的内容与次数
  2. 阿里云为澳门装上“城市大脑”
  3. Mac下php 5升级到php 7的步骤详解
  4. Ansible之八:Playbook循环
  5. HDU 1853 MCMF
  6. Android应用安全开发之浅谈加密算法的坑
  7. java重复造轮子系列篇-----时间date
  8. ngnix+keepalived 实现N主高可用负载均衡web群集
  9. TongJI Online Judge预赛(2): LOVE LETTER
  10. 跳出误区:Java程序员进阶架构师真的没你想象的那么简单......