TreeView節點快速訪問之道

2021-06-16 06:46:06 字數 2513 閱讀 1729

前幾天在木野狐老大的園子裡逛,見了新出的貼子《乙個快捷訪問 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 ...