Treeview TreeView_ListView

来源:互联网 发布:不root备份应用数据 编辑:程序博客网 时间:2024/06/08 05:41

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            TreeNode node = new TreeNode("新增节点");
            TreeNode nodeselect = this.treeView1.SelectedNode;
            nodeselect.Nodes.Add(node);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            foreach (TreeNode node1 in this.treeView1.Nodes)
            {
                if (node1.Checked)
                {
                    //删除数据
                    string id = node1.Tag.ToString();
                    this.Delete(id);
                }
            }

            this.BindTree();

       
        }


        private void Delete(string id )
        {
           // string id =
this.treeView1.SelectedNode.Tag.ToString();
            using (SqlConnection conn = new SqlConnection
("server=.;database=Test;uid=sa;pwd=123"))
            {
                try
                {
                    if (conn.State == ConnectionState.Closed)
                        conn.Open();
                    string sql = "delete from usertypes where
id=" + id;
                    SqlCommand comm = new SqlCommand(sql, conn);
                    comm.ExecuteNonQuery();
                    conn.Close();
                }
                catch
                {
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                        conn.Close();

                }
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            TreeNode node = new TreeNode("新增节点");
            node.ImageIndex = 2;
            node.SelectedImageIndex = 2;
            this.treeView1.Nodes.Add(node);
        }


        //用递归获取树的全部节点
        private void GetAllTreeNodes()
        {
            TreeNode node;
            for (int i = 0; i < this.treeView1.Nodes.Count; i++)
            {
                node=this.treeView1.Nodes[i];
                MessageBox.Show(node.Text);
                GetNodes(node);
            }
        }


        private void GetNodes(TreeNode node)
        {
            TreeNode node1;
            for (int i = 0; i < node.Nodes.Count; i++)
            {
                node1 = node.Nodes[i];
                MessageBox.Show(node1.Text);
                GetNodes(node1);
            }
        }


        private void button4_Click(object sender, EventArgs e)
        {
            this.GetAllTreeNodes();
        }


        //绑定树
        private void BindTree()
        {
            //清空节点
            this.treeView1.Nodes.Clear();
           DataSet ds = new DataSet();
            using (SqlConnection conn = new SqlConnection
("server=.;database=Test;uid=sa;pwd=123"))
            {
                try
                {
                    if (conn.State == ConnectionState.Closed)
                    conn.Open();
                    string sql = "select * from usertypes ";
                    SqlDataAdapter da = new SqlDataAdapter(sql,
conn);
                    da.Fill(ds);
                    conn.Close();
                }
                catch
                {
                }
                finally
                {
                    if(conn.State==ConnectionState.Open)
                    conn.Close();

                }
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    //添加节点
                    TreeNode node = new TreeNode();
                    //设置节点的文本
                    node.Text = ds.Tables[0].Rows[i]
["name"].ToString();
                    //保存id值
                    node.Tag = ds.Tables[0].Rows[i]
["id"].ToString();
                    this.treeView1.Nodes.Add(node);
                }

            }

            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        
            this.BindTree();
        }

      
    }
 
=========================TreeView_ListView

左边TreeView操作右边ListView变化
namespace nWin07_13
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Treeview();
        }
 
        private void Treeview()
        {
            string Path1 = @"F:/u盘备份.11.23";
            string[] n = Directory.GetDirectories(Path1);
            if (Directory.Exists(Path1))
            {  
                foreach (string n1 in n)
                {
                    DirectoryInfo n2 = new DirectoryInfo(n1);
                    TreeNode node =new TreeNode();
                    node.SelectedImageIndex = 1;
                    node.Tag = n2.FullName;
                    node.Text = n2.Name;
                    this.treeView1.Nodes.Add(node);
                    Getn(node, n1);
                }
            }
        }

        private void Getn(TreeNode node1, string Path1)
        {
            string[] n = Directory.GetDirectories(Path1);
            if (Directory.Exists(Path1))
            { 
                foreach (string n1 in n)
                {
                    DirectoryInfo n2 = new DirectoryInfo(n1);
                    TreeNode node =new TreeNode();
                    node.SelectedImageIndex = 1;
                    node.Tag = n2.FullName;
                    node.Text = n2.Name;
                    node1.Nodes.Add(node);
                    Getn(node, n1);
                }
            }
        }

        private void Listview(string Path1)
        {
            if (Directory.Exists(Path1))
            {
                DirectoryInfo n2 = new DirectoryInfo(Path1);
                FileInfo[] f = n2.GetFiles();
                foreach (FileInfo f1 in f)
                {
                    ListViewItem i = new ListViewItem(f1.Name,
0);
                    i.SubItems.Add(f1.Length.ToString());
                    listView1.Items.Add(i);
                }
            }
        }

        private void treeView1_AfterSelect(object sender,
TreeViewEventArgs e)
        {
            this.listView1.Items.Clear();
            string Path1 =
this.treeView1.SelectedNode.Tag.ToString();
            this.Listview(Path1);


        }
=============================TreeView

TreeView简单例子
添加一个TreeView1控件

.cs
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnTreeNode_Click(object sender, EventArgs e)
        {
            this.AddTreeNode();
        }
        private void AddTreeNode()
        {
            TreeNode node = new TreeNode("新节点");
           
            this.treeView1.Nodes.Add(node);
           
           
        }

        private void btnSubNode_Click(object sender, EventArgs e)
        {
            this.SubNode();
        }
        private void SubNode()
        {
           bool b=this.If_selectNode();
           if (b == true)
           {
               return;
           }
           else
           {
               this.treeView1.SelectedNode.Expand();
               TreeNode node = new TreeNode("新子节点");
               this.treeView1.SelectedNode.Nodes.Add(node);//当前选择节点的子节点集合
              
           }
        }
        private bool If_selectNode()
        {
            bool b = false;
            if (this.treeView1.SelectedNode==null)
            {
                MessageBox.Show("没有选择一个节点", "提示信息", MessageBoxButtons.OK,
MessageBoxIcon.Information);
                b = true;
            }
            return b;
        }
Program.cs
static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
            

原创粉丝点击