前幾天在木野狐老大的園子裡逛,見了新出的貼子《乙個快捷訪問 treeview 控制項節點的幫助類》,受到其中的**啟發。借老大的**過來。自己改了改,將節點遍歷的過程分離出來。做成了兩個虛函式。我們可以在遍歷的過程中。做更多的工作,而我們使用的方法,就是繼承這個類。並重寫這兩個虛函式就可以,基於本人是菜鳥級的原因,**可能不是很好。請各位前輩不吝指教。
1using system;
2using system.collections.generic;
3using system.text;
4using system.windows.forms.componentmodel;
5using system.windows.forms;
6namespace treenodecatch
718 public treenodeaccess(treeview treeview)
19
22 public treenodeaccess(treenode treenode)
23
26 private void walk(treenode node)
27
35 }
36 else
37
43 }
44 }
45 private ienumerablegetalltreenodes()
46
53 }
54 private ienumerablegetalltreenodes(treenode treenode)
55
62 }
63 public virtual int maxlen
64 );
70 int max = tmp[0].level;
71 tmp = null;
72 return max;
73 }
74 }
75 private void action(treenodeaccess classname)
76
82 else
83
86 foreach (treenode node in nodes)
87
93 }
94 if (ongetallnode!= null)
95
99 }
100101 public bool searchnode(string value,searchmode mode)
102
109 else
110
113 switch (mode)
114 );
118 break;
119 }
120 case searchmode.byname:
121 );
123 break;
124 }
125 default:
126
130 }
131 if (res != null)
132
137 else
138
141 }
142 public virtual void execute(treenode node){}
143 public virtual void finishgetnode(){}
144 public void load(treenodeaccess classname)
145
152 }
153 public enum searchmode
154
155}
156其中execute虛函式是遍歷每乙個節點時觸發的過程。fineshgetnode是完成了遍歷完所有節點後觸發的過程,treenodeaccess類可以用treeview和treenode來初始化。
treeview 父子節點聯動
region treeview聯動方法 private void updatecheckstatus treevieweventargs e updates all parent nodes recursively.private void updateallparentnodes treenode...
動態新增TREEVIEW的節點
讀取資料庫中的資料讓其插入到treeview的節點中,這裡是從資料庫中讀取省和直轄市新增到父節點中然後讀取省下的縣市新增到父節點下,建立了兩張個表乙個省的表,乙個是縣市表 using system using system.data using system.configuration using ...
treeview中節點拖放實現
經過修改,可以正常工作 using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using ...