/// <summary> /// 本地浏览器ListView填充数据 /// </summary> /// <param name="listview"></param> /// <param name="imagelist"></param> /// <param name="path"></param> public void getFileInformationForListView(ListView listview, ImageList imagelist, string path) { Cursor.Current = Cursors.WaitCursor; string[] dirs, files; try { dirs = Directory.GetDirectories(path); //获取指定目录中子目录的名称 files = Directory.GetFiles(path); //获取目录中文件的名称 } catch { XtraMessageBox.Show("不存在该目录或文件!"); return; } RefreshListViewLocal rlv = new RefreshListViewLocal(delegate(ListView dglistview, ImageList dgimagelist) { dglistview.SmallImageList = dgimagelist; dglistview.Items.Clear(); dgimagelist.Images.Clear(); dglistview.Items.Add("上级目录"); int index = 0; dglistview.BeginUpdate(); for (int i = 0; i < dirs.Length; i++) //遍历子文件夹 { string[] info = new string[3]; //定义一个数组 DirectoryInfo dir = new DirectoryInfo(dirs[i]); //根据文件夹的路径实例化DirectoryInfo类 if (!(dir.Name == "RECYCLER" || dir.Name == "RECYCLED" || dir.Name == "Recycled" || dir.Name == "System Volume Information") && (dir.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { info[0] = dir.Name; info[1] = " "; info[2] = dir.LastWriteTime.ToString(); ListViewItem item = new ListViewItem(info, index); //实例化ListViewItem类 dglistview.Items.Add(item); //添加当前文件夹的基本信息 dgimagelist.Images.Add(dir.Name, ToolsLibrary.GetIcon.GetDirectoryIcon(dir.FullName)); index++; } } dglistview.EndUpdate(); dglistview.BeginUpdate(); for (int i = 0; i < files.Length; i++) //遍历文件 { string[] info = new string[3]; //定义一个数组 FileInfo fi = new FileInfo(files[i]); //根据文件的路径实例化FileInfo类 //string Filetype = "unknown"; //if (fi.Name.Contains(".")) // Filetype = fi.Name.Substring(fi.Name.LastIndexOf(".")).ToLower();//获取文件的类型 //!(Filetype == "sys" || Filetype == "ini" || Filetype == "bin" || Filetype == "log" || Filetype == "com" || Filetype == "bat" || Filetype == "db") && if ((fi.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { info[0] = fi.Name; info[1] = ToolsLibrary.Tools.getCommonSize(fi.Length); info[2] = fi.LastWriteTime.ToString(); ListViewItem item = new ListViewItem(info, index); //实例化ListViewItem类 dglistview.Items.Add(item); //添加当前文件的基本信息 dgimagelist.Images.Add(fi.Name, ToolsLibrary.GetIcon.GetFileIcon(fi.Name, false)); index++; } } dglistview.EndUpdate(); }); listview.Invoke(rlv, listview, imagelist); Cursor.Current = Cursors.Default; }
/// <summary> /// 本地浏览器ListView填充数据 /// </summary> /// <param name="listview"></param> /// <param name="imagelist"></param> /// <param name="path"></param> public void getFileInformationForListView(ListView listview,ImageList imagelist,string path) { Cursor.Current = Cursors.WaitCursor; string[] dirs, files; try { dirs = Directory.GetDirectories(path);//获取指定目录中子目录的名称 files = Directory.GetFiles(path);//获取目录中文件的名称 } catch { XtraMessageBox.Show("不存在该目录或文件!"); return; } RefreshListViewLocal rlv = new RefreshListViewLocal(delegate(ListView dglistview, ImageList dgimagelist) { dglistview.SmallImageList = dgimagelist; dglistview.Items.Clear(); dgimagelist.Images.Clear(); dglistview.Items.Add("上级目录"); int index = 0; dglistview.BeginUpdate(); for (int i = 0; i < dirs.Length; i++)//遍历子文件夹 { string[] info = new string[3];//定义一个数组 DirectoryInfo dir = new DirectoryInfo(dirs[i]);//根据文件夹的路径实例化DirectoryInfo类 if (!(dir.Name == "RECYCLER" || dir.Name == "RECYCLED" || dir.Name == "Recycled" || dir.Name == "System Volume Information") && (dir.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { info[0] = dir.Name; info[1] = " "; info[2] = dir.LastWriteTime.ToString(); ListViewItem item = new ListViewItem(info, index);//实例化ListViewItem类 dglistview.Items.Add(item);//添加当前文件夹的基本信息 dgimagelist.Images.Add(dir.Name, ToolsLibrary.GetIcon.GetDirectoryIcon(dir.FullName)); index++; } } dglistview.EndUpdate(); dglistview.BeginUpdate(); for (int i = 0; i < files.Length; i++)//遍历文件 { string[] info = new string[3];//定义一个数组 FileInfo fi = new FileInfo(files[i]);//根据文件的路径实例化FileInfo类 //string Filetype = "unknown"; //if (fi.Name.Contains(".")) // Filetype = fi.Name.Substring(fi.Name.LastIndexOf(".")).ToLower();//获取文件的类型 //!(Filetype == "sys" || Filetype == "ini" || Filetype == "bin" || Filetype == "log" || Filetype == "com" || Filetype == "bat" || Filetype == "db") && if ((fi.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { info[0] = fi.Name; info[1] = ToolsLibrary.Tools.getCommonSize(fi.Length); info[2] = fi.LastWriteTime.ToString(); ListViewItem item = new ListViewItem(info, index);//实例化ListViewItem类 dglistview.Items.Add(item);//添加当前文件的基本信息 dgimagelist.Images.Add(fi.Name, ToolsLibrary.GetIcon.GetFileIcon(fi.Name, false)); index++; } } dglistview.EndUpdate(); }); listview.Invoke(rlv, listview, imagelist); Cursor.Current = Cursors.Default; }