创建包含 ListView 和 TreeView 控件的窗体
2008-03-03 10:41
218 查看
在“文件”菜单上指向“新建”,然后单击“项目”。
在“新建项目”对话框中,请执行以下操作:
在“项目类型”窗格中选择“Visual Basic 项目”或“Visual C# 项目”。
在“模板”窗格中选择“Windows 应用程序”。
单击“确定”。新建了一个 Windows 窗体项目。
向该窗体添加一个 SplitContainer 控件,并将其 Dock 属性设置为 Fill。
向该窗体添加一个名为
向该窗体添加一个名为
将 Dock 属性设置为 Fill。
将 ImageList 属性设置为
向该窗体中添加一个名为
将 Dock 属性设置为 Fill。
将 View 属性设置为 Details。
单击 Columns 属性中的椭圆 (
),以打开 ColumnHeader 集合编辑器。添加三列,并将其 Text 属性分别设置为
将 SmallImageList 属性设置为
实现代码以便将节点和子节点填充到 TreeView 中。示例代码从文件系统读取,并且要求应用程序目录中存在
在窗体的构造函数或 Load 事件处理方法中,调用上一步中的设置方法。
处理
到此程序演示完毕
在“新建项目”对话框中,请执行以下操作:
在“项目类型”窗格中选择“Visual Basic 项目”或“Visual C# 项目”。
在“模板”窗格中选择“Windows 应用程序”。
单击“确定”。新建了一个 Windows 窗体项目。
向该窗体添加一个 SplitContainer 控件,并将其 Dock 属性设置为 Fill。
向该窗体添加一个名为
imageList1的 ImageList,然后使用属性浏览器按所列顺序添加两个图标:一个文件夹图标和一个文档图标。
向该窗体添加一个名为
treeview1的 TreeView 控件,将其置于 SplitContainer 控件的左侧。在
treeView1的属性浏览器中执行以下操作:
将 Dock 属性设置为 Fill。
将 ImageList 属性设置为
imagelist1.
向该窗体中添加一个名为
listView1的 ListView 控件,将其置于 SplitContainer 控件的右侧。在
listview1的属性浏览器中执行以下操作:
将 Dock 属性设置为 Fill。
将 View 属性设置为 Details。
单击 Columns 属性中的椭圆 (
),以打开 ColumnHeader 集合编辑器。添加三列,并将其 Text 属性分别设置为
Name、
Type和
Last Modified。单击“确定”关闭对话框。
将 SmallImageList 属性设置为
imageList1.
实现代码以便将节点和子节点填充到 TreeView 中。示例代码从文件系统读取,并且要求应用程序目录中存在
folder.ico和
doc.ico,这两个图标。
private void PopulateTreeView() { TreeNode rootNode; DirectoryInfo info = new DirectoryInfo(@"C:\Documents and Settings"); 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); } } |
public Form1() { InitializeComponent(); PopulateTreeView(); } |
treeview1的 NodeMouseClick 事件,实现代码以便在单击某个节点时,用该节点的内容来填充
listview1。
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); }
到此程序演示完毕
相关文章推荐
- 使用设计器创建带有 ListView 和 TreeView 控件的资源管理器样式的界面
- 使用设计器创建带有 ListView 和 TreeView 控件的资源管理器样式的界面 [无限级treeview]
- asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性
- web developer tips (8):创建web用户控件并包含在web页面里
- Fragment中ListView的Item的点击事件(包含Item内部控件的点击事件)
- Android开发ListView中包含EditText控件遇到的问题
- 使用TreeView和listView控件查看本机磁盘文件夹及文件(WinForm)
- C#程序设计(二十六)----创建一个如下的窗体,并在窗体上放置一个标签、一个按钮、一个fontDialog控件
- TreeView控件所在的窗体一直处于激活状态
- TreeView控件应用(包含递归调用)
- C# WinForm 控件在窗体中动态居中 创建、删除控件及对其赋值
- vb.net 教程 3-4 窗体编程 公共控件10 TreeView 4
- 如何:使用 Windows 窗体 TextBox 控件创建密码文本框 .NET Framework 2.0 其他版本 密码框是一种 Windows 窗体文本框,它在用户键入字符串时显示占位符。 创
- 创建可编辑的xml文档(之五)执行中的treeview 控件
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 2
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 5
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 6
- 不规则窗体和控件的创建
- C#创建不规则窗体和控件
- 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】