public void Browse(System.Windows.Forms.TreeNode node) { try { Opc.Da.Server server = this.FindServer(node); ItemIdentifier itemID = null; if (node.Tag != null && node.Tag.GetType() == typeof(BrowseElement)) { BrowseElement browseElement = (BrowseElement)node.Tag; itemID = new ItemIdentifier(browseElement.ItemPath, browseElement.ItemName); } node.Nodes.Clear(); BrowsePosition browsePosition = null; BrowseElement[] array = server.Browse(itemID, this.m_filters, out browsePosition); if (array != null) { BrowseElement[] array2 = array; for (int i = 0; i < array2.Length; i++) { BrowseElement browseElement2 = array2[i]; if (!browseElement2.ItemName.Contains("alrosa_w") && !browseElement2.ItemName.Contains("List of")) { if (!browseElement2.IsItem) { this.AddBrowseElement(node, browseElement2); } } } node.Expand(); } while (browsePosition != null) { System.Windows.Forms.DialogResult dialogResult = System.Windows.Forms.MessageBox.Show("More items meeting search criteria exist. Continue browse?", "Browse Items", System.Windows.Forms.MessageBoxButtons.YesNo); if (dialogResult == System.Windows.Forms.DialogResult.No) { break; } array = server.BrowseNext(ref browsePosition); if (array != null) { BrowseElement[] array2 = array; for (int i = 0; i < array2.Length; i++) { BrowseElement browseElement2 = array2[i]; this.AddBrowseElement(node, browseElement2); } node.Expand(); } } } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }