我想在WinForm下做一个点击treeView树旁边的文件夹,当前文件夹变为打开,然后打开文件夹下的文件,怎么做呢?
解决方案 »
- C# 将MessageBox显示为英文版的
- C#多线程问题,感兴趣的朋友来,在线求解。
- 求助!2题C#新手题目
- 如何为WebBrowser设置一个独立于系统的Cookie,或者截获WebBrowser中发出的Get/Post请求并且自己处理Http头以附加上Cookie
- 问两个问题 不 会的不要误导我呀!~~~
- 求救一个c#调用dll时参数类型匹配的问题?
- C#怎么判断Outlook是否收到新邮件
- 请问,装箱与柝箱有什么好处,我怎么没有觉得有什么好处?
- 谁知道哪里有《Understanding .NET: A Tutorial and Analysis》电子书下载?请站出来!
- 关于新增用户的权限问题?
- VS.net安装部署问题
- C# 窗体启动问题
文件夹变为打开可以设置SELECTiMAGEINDEX(设置为IMAGELIST中的相应图片的INDEX值)你是显示选中文件夹内的文件和文件夹(像资源管理器那样)还是打开文件?
如像资源管理器那样,就再加一个listview控件,利用它来显示指定文件夹下的资源列表 public void ShowFiles(string strDirectory) //将文件夹路径传过来
{
// 将传递进来的目录名称储存至字段中。
this.strDirectory = strDirectory; Items.Clear(); DirectoryInfo diDirectories = new DirectoryInfo(strDirectory);
FileInfo[] afiFiles; try
{
// GetFiles 方法来取得内含目录中所有档案的一个 FileInfo 数组。
afiFiles = diDirectories.GetFiles();
}
catch
{
return;
} foreach (FileInfo fi in afiFiles)
{
// 建立 ListViewItem。
ListViewItem lvi = new ListViewItem(fi.Name); // 根据档案的扩展名来指派 ImageIndex 。
switch (Path.GetExtension(fi.Name).ToUpper())//自己可以添加类型
{
case ".EXE":
lvi.ImageIndex = 1; break;
default:
lvi.ImageIndex = 0; break;
} // 新增「大小」与「修改日期」这两个子项目。
lvi.SubItems.Add(fi.Length.ToString("N0"));
lvi.SubItems.Add(fi.LastWriteTime.ToString()); // 新增「属性」这一个子项目。
string strAttr = ""; if ((fi.Attributes & FileAttributes.Archive) != 0)
{
strAttr += "A";
} if ((fi.Attributes & FileAttributes.Hidden) != 0)
{
strAttr += "H";
} if ((fi.Attributes & FileAttributes.ReadOnly) != 0)
{
strAttr += "R";
} if ((fi.Attributes & FileAttributes.System) != 0)
{
strAttr += "S";
} lvi.SubItems.Add(strAttr); // 将完整的 ListViewItem 新增至。
Items.Add(lvi);
}
}
}
vFrameTree_AfterSelect(object sender, TreeViewEventArgs e)
tvFrameTree_AfterExpand(object sender, TreeViewEventArgs e)
中处理了。