先上结果:
运行结果.PNG
你要添加的控件有:Button, textBox(把MultiLine属性设置为True), FolderBrowserDialog, ListView
设计界面.PNG
其中对于ListView控件,还要进行设置
1.点击右上角小三角

listview设置1.png
2.将视图属性修改为Detail,点击编辑列

listview设置2.png
3.点击添加按钮,修改txt属性

listview设置3.png
最后点击确定就好了。
代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApp13
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
//清空listView1
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = folderBrowserDialog1.SelectedPath;
textBox1.Enabled = false;
DirectoryInfo d = new DirectoryInfo(textBox1.Text);
//实例化DirectoryInfo
FileSystemInfo[] f = d.GetFileSystemInfos();
//获取指定文件夹中子文件夹和文件
foreach (FileSystemInfo fs in f)
{
if (fs is DirectoryInfo)
{
//判断遍历出的是文件夹
DirectoryInfo di = new DirectoryInfo(fs.FullName);
//实例化并获取完整文件夹路径
listView1.Items.Add(di.Name);
//获取名称并添加到listView1中
listView1.Items[listView1.Items.Count - 1].SubItems.Add(
di.FullName);
//获取路径
listView1.Items[listView1.Items.Count - 1].SubItems.Add(
di.CreationTime.ToShortDateString());
//获取创建时间
}
//以上这一大段不太懂,难道在listView控件中,列序号从前往后是
//从小到大排列的?而且后面的是前面的子控件?
else
{
//反之说明不是文件夹,是文件
FileInfo fi = new FileInfo(fs.FullName);
//实例化并获取完整文件路径
listView1.Items.Add(fi.Name);
//获取文件名并添加到listView1控件中
listView1.Items[listView1.Items.Count - 1].SubItems.Add(
fi.FullName);
//获取文件路径并添加到listView1控件中
listView1.Items[listView1.Items.Count - 1].SubItems.Add(
fi.CreationTime.ToShortDateString());
//获取创建时间
}
}
}
}
}
}