private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e) { int index = this.listBox1.IndexFromPoint(e.Location); if (index != System.Windows.Forms.ListBox.NoMatches) { string new_path = ""; object obj = listBox1.Items[index]; FakeDirInfo f = obj as FakeDirInfo; if (f != null) { Fill_DirList(f.FullName); } else { DirectoryInfo di = (DirectoryInfo)obj; Fill_DirList(di.FullName); } } }
private void Fill_DirList(string path) { listBox1.Items.Clear(); string[] strs = Directory.GetDirectories(path); var tmp = new DirectoryInfo(path); if (tmp.Parent != null) { FakeDirInfo ff = new FakeDirInfo(); ff.Name = ".."; ff.FullName = tmp.Parent.FullName; listBox1.Items.Add(ff); } foreach (string s in strs) { listBox1.Items.Add(new DirectoryInfo(s)); } }