女人出月经视频播放:C#中Winform的Treeview节点
来源:百度文库 编辑:偶看新闻 时间:2024/04/30 08:51:35
比较简单的做法,增加一个子节点提示.然后开线程请求真实的子节点,完毕后替换提示节点。
代码如下
显示代码打印01 using System;
02 using System.Collections.Generic;
03 using System.ComponentModel;
04 using System.Data;
05 using System.Drawing;
06 using System.Text;
07 using System.Windows.Forms;
08
09 namespace WindowsApplication11
10 {
11 public partial class Form1 : Form
12 {
13
14 //用于控制线程的方法
15 public class ThreadStartInfo
16 {
17 public TreeNode node=null;
18
19 //模拟载入数据
20 public void LoadNode()
21 {
22 System.Threading.Thread.Sleep(5000);
23 string[] str = new string[] { "jinjazz", "csdn" ,"sina","google","yahoo","nba","fifa"};
24 this.AddNode(node, str);
25 }
26 delegate void dAddNode(TreeNode node, string[] str);
27
28 //添加节点
29 void AddNode(TreeNode node, string[] str)
30 {
31 if (this.node.TreeView.FindForm().InvokeRequired)
32 {
33 this.node.TreeView.FindForm().Invoke(new dAddNode(AddNode), new object[] { node, str });
34 }
35 else
36 {
37 node.Nodes.Clear();
38 foreach (string strNode in str)
39 {
40 node.Nodes.Add(strNode);
41 }
42 }
43
44 }
45 }
46
47 public Form1()
48 {
49 InitializeComponent();
50 }
51
52 private void Form1_Load(object sender, EventArgs e)
53 {
54 //添加根节点
55 this.treeView1.Nodes.Add(new TreeNode("root"));
56 this.treeView1.AfterSelect += new TreeViewEventHandler(treeView1_AfterSelect);
57 }
58
59 void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
60 {
61 if (e.Node.Tag==null||e.Node.Tag.ToString() == "")
62 {
63 ThreadStartInfo s = new ThreadStartInfo();
64 s.node = e.Node;
65 //已经载入过的就不要载入了。
66 s.node.Tag = 1;
67 new System.Threading.Thread(new System.Threading.ThreadStart(s.LoadNode)).Start();
68 e.Node.Nodes.Add("正在载入..");
69 }
70 }
71 }
72 }
文章出处:飞诺网(www.diybl.com):http://www.diybl.com/course/4_webprogram/asp.net/netjs/2008530/118205.html