winform - TreeView

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 using System.Diagnostics;               // 获取系统进程必须所用System.Diagnostics
11 
12 namespace WinApp_TreeView
13 {
14     public partial class Form1 : Form
15     {
16         public Form1()
17         {
18             InitializeComponent();
19         }
20         private void Form1_Load(object sender, EventArgs e)
21         {
22             GetSystemProcess();
23         }
24         /// <GetSystemProcess>获取当前系统所有正在运行的进程,并在树视图中显示.
25         /// </GetSystemProcess>
26         private void GetSystemProcess()
27         {
28             // 禁用树视图重绘
29             treeView1.BeginUpdate();
30             // 先构造一个根节点
31             TreeNode root = new TreeNode();
32             root.Text = "所有进程";
33             treeView1.Nodes.Add(root);
34             /***********************************************************************
35              *  【方法1】: 将本机的系统进程名称作为子节点添加到根节点下                       
36             
37             // 获取当前系统正在运行的进程数
38             string[] processs = Process.GetProcesses().Select(p => p.ProcessName).ToArray();
39             // 遍历获取的进程,并将进程名称作为子节点添加到根节点(所有进程)下
40             foreach (string proc in processs)
41             {
42                 treeView1.Nodes[0].Nodes.Add(proc);
43             }
44             
45             // 获取正在运行的进程数:
46             label1.Text = "进程数: " + processs.Length.ToString();
47              
48              * 
49              ***********************************************************************/
50 
51             /***********************************************************************
52              *  【方法2】: 将本机的系统进程名称作为子节点添加到根节点下                               
53             ***********************************************************************/
54             TreeNode[] treenodes = Process.GetProcesses().Select( p => new TreeNode(p.ProcessName) ).ToArray();
55 
56             treeView1.Nodes[0].Nodes.AddRange(treenodes);
57 
58             // 展开所有节点
59             treeView1.ExpandAll();
60             // 获取所有的子节点个数:true;  只获取根节点个数:false    
61             //label1.Text = treeView1.GetNodeCount(true).ToString();
62             // 启用树视图重绘
63             treeView1.EndUpdate();
64         }
65     }
66 }

 

posted @ 2016-04-04 21:12  C/C++/Python/Java  阅读(380)  评论(0编辑  收藏  举报