题目:
获取指定文件夹下的所有文件夹:选择一个文件夹,其路径信息显示在文本框中,单击“显示子文件夹”,显示该文件下的所有子文件夹,单击“同时显示子文件夹和文件”,显示该文件夹下的所有子文件夹和文件。
界面:
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms;
using System.IO;
namespace createdir_7
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
FolderBrowserDialog m_Dialog = new FolderBrowserDialog();
private void Button_Click(object sender, RoutedEventArgs e)
{
DialogResult result = m_Dialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel) return;
string m_Dir = m_Dialog.SelectedPath.Trim();
textbox1.Text = m_Dir;
}
private void Button_Click1(object sender, RoutedEventArgs e)
{
textbox2.Text = "";
string m_Dir = m_Dialog.SelectedPath.Trim();
List<string> dirs = new List<string>(Directory.GetDirectories(m_Dialog.SelectedPath.Trim(), "*",
System.IO.SearchOption.AllDirectories));
foreach(var dir in dirs)
{
textbox2.Text += dir;
textbox2.Text += Environment.NewLine;
string[] files = System.IO.Directory.GetFiles(dir, "*.*"); //获取m_Dir目录下的所有文件
foreach (string s in files) //循环输出结果
{
System.IO.FileInfo fi = null;
try
{
fi = new System.IO.FileInfo(s); //将文件依次赋给fi
}
catch (System.IO.FileNotFoundException ex)
{
Console.WriteLine(ex.Message);
continue;
}
textbox2.Text += dir + "\\" + fi.Name;
textbox2.Text += Environment.NewLine;
}
}
}
private void Button_Click2(object sender, RoutedEventArgs e)
{
textbox2.Text = "";
//textbox2.Text = Director(m_Dialog.SelectedPath.Trim(), textbox2.Text);
List<string> dirs = new List<string>(Directory.GetDirectories(m_Dialog.SelectedPath.Trim(), "*",
System.IO.SearchOption.AllDirectories));
foreach(var dir in dirs)
{
textbox2.Text += dir;
textbox2.Text += Environment.NewLine;
}
}
}
}