treeView和递归的简单运用

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

using
System;

using
System.Collections.Generic;

using
System.ComponentModel;

using
System.Data;

using
System.Drawing;

using
System.IO;

using
System.Linq;

using
System.Text;

using
System.Threading.Tasks;

using
System.Windows.Forms;

namespace
treeview

{

    public
partial class
Form1 : Form

    {

        public
Form1()

        {

            InitializeComponent();

        }

        private
void Form1_Load(object
sender, EventArgs e)

        {

            string
path = @"F:\demo";

            LoadDirectoryAndFile(treeView1.Nodes,path);

        }

        private
void LoadDirectoryAndFile(TreeNodeCollection tnc, string
path)

        {

            //获取文件夹

           string[] dirs = Directory.GetDirectories(path);

           for
(int
i = 0; i < dirs.Length; i++)

           {

              TreeNode tn = tnc.Add(Path.GetFileName(dirs[i]));

              LoadDirectoryAndFile(tn.Nodes, dirs[i]);//递归遍历

           }

            //获取文件

           string[] files = Directory.GetFiles(path,"*.txt"); //只加载.txt

           for
(int
i = 0; i < files.Length; i++)

           {

              TreeNode tn1 = tnc.Add(Path.GetFileName(files[i]));

               ////Tag:可以存任何东西,在这里存的是文本文件的路径,因为文件夹不需要显示在文本框中

              tn1.Tag = files[i];

           }

        }

        private
void treeView1_NodeMouseDoubleClick(object
sender, TreeNodeMouseClickEventArgs e)

        {

            if
(treeView1.SelectedNode.Tag != null)

            {

                textBox1.Text = File.ReadAllText(treeView1.SelectedNode.Tag.ToString(), Encoding.Default);

            }

        }

    }

}

  

treeView和递归的简单运用,布布扣,bubuko.com

时间: 2024-12-12 04:38:55

treeView和递归的简单运用的相关文章

在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构

将实体绑定到TreeView控件,实现树状结构的显示,如下图所示.这个功能通过HierarchicalDataTemplate实现. ? 1. 业务实体 作为举例,我定义了一个大家都很熟悉的Folder类型,即文件夹.我们都知道,文件夹又可以包含子文件夹,而且可以多层嵌套.所以,这是一个递归的结构体. public class Folder { public string Name { get; set; } public ObservableCollection<Folder> Folder

javascript --- 递归的简单理解

递归函数大家都应该比较熟吧?那么,如何在JavaScript中书写一个完美的递归函数呢?且听我娓娓道来. 递归函数 写的时候,查了一下维基百科对递归函数的定义,恕我愚钝,简直太深奥了!所以,我还是简单的说说我对递归函数的理解吧.递归函数,说白了就是在函数内部引用函数自身,最终到给定的递归结束条件时回溯.当然,你也可以不给定结束条件,死了别挂我~(╯﹏╰)~. 简单说就是有两个条件: 1. 在函数内部引用自身. 2. 每个递归函数里必定有一个终止条件. 来个小李子: function test(n

wpf treeview 数据绑定 递归绑定节点

1.先上效果 将所有节点加入ComboBox数据源,在ComboBox中选择时下方Treeview显示该节点下的子节点. 1.xaml文件,将以下代码加入界面合适位置 1 <StackPanel> 2 <StackPanel Margin="10"> 3 <Label Content="选择组节点:"></Label> 4 <ComboBox MaxDropDownHeight="100" N

黑马程序员-File类+递归的简单应用

Java File类   Java.io.File Java文件类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等. File对象代表磁盘中实际存在的文件和目录.通过以下构造方法创建一个File对象. 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例. File(File parent, String child); 通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例. File(String pathname) 根据 pa

【学习ios之路:C语言】函数及递归的简单应用

函数定义: 返回值类型 函数名(形参列表){函数体(函数的实现内容)}; 函数定义的四种形式: //函数定义第一种形式: 无参数, 无返回值 void byMilk() { //如果没有参数,小括号必不可少. printf("没钱\n"); } //函数名的命名规范:由多个英文单词组成,除了第一个单词的首字母小写,其余单词首字母大写. //函数定义第二种形式,有返回值,无参数 float salary() { printf("同志们辛苦了\n"); return 0

网易云课堂_C语言程序设计进阶_第五周:递归与简单算法:递归、搜索、二分搜索、简单排序_1逆序输出的数列

1 逆序输出的数列(10分) 题目内容: 你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束.然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1. 输入格式: 一系列正整数,输入-1表示结束,-1不是输入的数据的一部分. 输出格式: 按照与输入相反的顺序输出所有的整数,每个整数后面跟一个空格以与后面的整数区分,最后的整数后面也有空格. 输入样例: 1 2 3 4 -1 输出样例: 4 3 2 1 时间限制:2000ms内存限制:128000kb

【算法数据结构Java实现】递归的简单剖析及时间复杂度计算

1.理解 对于递归函数的理解,我觉得是比较重要的,因为很多大神能把递归函数用的惟妙惟肖,不光是他们的编程功力高深,更主要是能理解这个算法.比较直白的理解是,如果一个事件的逻辑可以表示成,f(x)=nf(x-1)+o(x)形式,那么就可以用递归的思路来实现. 编写递归逻辑的时候要知道如下法则: 1.要有基准 比如说,f(x)=f(x-1)+1,如果不加入基准,f(0)的值是多少,那么函数会无限执行下去,没有意义 2.不断推进 也就是f(x)=f(x-1)或是f(x)=f(x/n)之类的 当然每个递

冒泡排序、递归和简单装饰器

扩展:函数名可以当做参数传递 def f1(): return "F1" # f1 = 函数 #f1 =>代指函数 # f1() => 执行函数 def f2 (arg): arg() return "F2" # x = 123 #f1 = f1 函数 #f2 = f2 函数 #f2(x) #执行f2函数,f1 函数当参数 f2(f1) 冒泡排序: 1.算法描述:(1)共循环 n-1 次(2)每次循环中,如果 前面的数大于后面的数,就交换(3)设置一个标

【紫书】 The Falling Leaves UVA - 699 递归得简单

题意:给你一颗二叉树的前序遍历,空子树以-1表示,将左右子树的权值投影到一维数轴上,左儿子位置为根位置-1,右儿子+1求个个整点上的和: 题解:递归,整个过程只需维护一个sum数组. 更新根,更新leftson ,更新rightson; 代码: #define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include<stdio.h> #include<algorithm> #include<string>