private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { textBox1.Clear(); MsgTreeNode node = (MsgTreeNode)e.Node; textBox1.Lines = node.msgs.Select(x => x.id).ToArray(); }
private void FillTreeView(XDocument xDoc, TreeView trv) { XElement rootXml = xDoc.Root; trv.Nodes.Clear(); MsgTreeNode rootTrv = new MsgTreeNode(); rootTrv.Text = rootXml.Name.LocalName; trv.Nodes.Add(rootTrv); AddTreeViewChildNodes(rootTrv, rootXml); }
private void AddTreeViewChildNodes(MsgTreeNode parentNodeTrv, XElement nodeXml) { foreach (XElement childNodeTrv in nodeXml.Elements()) { if (childNodeTrv.Name != "msg") { MsgTreeNode newNode = new MsgTreeNode(); newNode.Text = childNodeTrv.Name.LocalName; parentNodeTrv.Nodes.Add(newNode); AddTreeViewChildNodes(newNode, childNodeTrv); if (newNode.Nodes.Count == 0) { newNode.EnsureVisible(); } } else { parentNodeTrv.msgs.Add(new Msg(childNodeTrv.Attribute("id").Value, childNodeTrv.Attribute("str").Value)); } } }