这里要实行的是一个小说阅读器的效果,主要是体验递归遍历文件,和TreeView控件的数据绑定效果。
//递归遍历文件的方法
static void getAllFiles(string strPath, TreeNode tn)
{
//获取目录下的文件和文件夹
string [] files=Directory.GetFiles(strPath,"*.txt");
string [] dir=Directory.GetDirectories(strPath);
//遍历文件,添加到节点
for (int i = 0; i < files.Length; i++)
{
TreeNode tn2= tn.Nodes.Add(Path.GetFileNameWithoutExtension(files[i]));
tn2.Tag = files[i];
}
//遍历文件夹,递归
for (int i = 0; i < dir.Length; i++)
{
TreeNode tn3 = tn.Nodes.Add(Path.GetFileName(dir[i]));
getAllFiles(dir[i],tn3);
}
}
重新加载的时候,注意要清楚之前节点上面的数据。
treeView1.Nodes.Clear();//清除节点
TreeNode tn = treeView1.Nodes.Add(Path.GetFileName(strPath));
getAllFiles(strPath, tn);
添加TreeView控件的事件,实现文本读取
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Tag != null)
{
string path = e.Node.Tag.ToString();
textBox1.Text = File.ReadAllText(path, Encoding.Default);
}
}