我现在要做一个想资源管理器那种,根据左边treeview选中的节点的文件夹,将这个文件夹下的所有文件显示到listview中,然后在双击listview中的文件夹时,又打开这个文件夹并显示在listview中 大家帮帮忙!老板催啊
解决方案 »
- “LINQtoSQL类”的疑问
- 高手请进!关于两个Form中同类型控件一个给另一个赋值的问题!!
- 界面上怎么捕捉回车键
- 复制一个文件夹,给一个文件夹改名怎么办呀?
- 初学C#,问个傻瓜问题,希望高手给予指导.(急)
- 怎么样根据条件将光标跳到符合条件的第一条datagrid记录行??
- 路径的问题!
- 请问:查找数据的限制条件的问题??
- 请问 在 DataGrid 控件上移动行是激活了哪个方法呢?
- C# winform按钮调用dll文件里的方法(已经在按钮里引用了dll的命名空间)但是报错b,r要赋值。
- 弱弱的问下:怎么在后台程序中动态控制iframe的src啊?
- 【求助】在c/s程序中,每当连入一个客户端,就在treeview中添加一个节点
处理TreeView的AfterSelect事件,点击TreeView的某个节点后就获取相应文件夹下的文件夹和文件显示在ListView中。
处理ListView的DoubleClick事件,与TreeView的AfterSelect事件处理类似。
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;namespace TreeViewControl
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} private void Form2_Load(object sender, EventArgs e)
{
TreeNode root = new TreeNode("本地磁盘 C:",0,1);
this.treeView1.Nodes.Add(root);
DirectoryInfo dir = new DirectoryInfo("C:\\");
ShowDirectories(dir, root);
} //函数递归调用(函数自我调用)
private void ShowDirectories(DirectoryInfo dir,TreeNode node)
{
DirectoryInfo[] subFolders = dir.GetDirectories(); foreach (DirectoryInfo d in subFolders)
{
try
{
//this.listBox1.Items.Add(d.Name);
TreeNode n = new TreeNode(d.Name, 0, 1);
node.Nodes.Add(n); ShowDirectories(d, n);
}
catch (Exception)
{
continue;
}
}
} private void treeView1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.contextMenuStrip1.Show(this.treeView1,e.X,e.Y);//this.treeView1.SelectedNode = this.treeView1.Nodes[this.treeView1.SelectedNode.Index];
}
}
}
}自己在循环内部添加遍历文件逻辑就可以。至于 ListView 控件显示文件系统,道理就简单了,自己研究吧。