private int fillTreeView(string searchBaseDn, string ldapFilter = null) { treeView1.BeginUpdate(); treeView1.Nodes.Clear(); // 搜尋 Base DN 本身,只驗證存在與否,不做過濾 Dictionary <string, List <AttributeDataModel> > result = ldapHelper.Search(searchBaseDn, searchScope: SearchScope.Base); // 搜尋 Base DN 的所有後代,並做過濾。將所有搜尋結果納入樹狀結構。 int resultCount = result.Count; // 應只有一筆 foreach (var item in result) { TreeNode treeNodeRoot = treeView1.Nodes.Add(item.Key); treeNodeRoot.Tag = item.Value; // 用Tag儲存該物件的Attributes. resultCount += searchChildren(treeNodeRoot, ldapFilter); } treeView1.EndUpdate(); treeView1.ResumeLayout(); return(resultCount); }