这里要实行的是一个小说阅读器的效果,主要是体验递归遍历文件,和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); } }