如何通过if语句在TreeView中设置ImageIndex?

时间:2013-05-22 13:42:56

标签: c# xml image treeview nodes

您如何为我的treeView节点设置图像...我有一个父节点和一个子节点。

这是我的代码:

private void btnShowLicstate_Click(object sender, EventArgs e)
        {
            treeLic.Nodes.Clear(); 

            string command = "\"C:\\lmxendutil.exe\" -licstatxml -host lwserv005 -port 6200";

            string output = ExecuteCommand(command);
            string final_output = output.Substring(90, output.Length - 90);

            XmlReader xr = XmlReader.Create(new StringReader(final_output));



            var xDoc = XDocument.Load(xr); 
                TreeNode root = new TreeNode();
                LoadTree(xDoc.Root.Element("LICENSE_PATH"), root);
                treeLic.Nodes.Add(root);

                treeLic.ImageList = imageList1; 

        }

 public void LoadTree(XElement root, TreeNode rootNode)
        {
            foreach (var e in root.Elements().Where(e => e.Attribute("NAME") != null))
            {
                var node = new TreeNode(e.Attribute("NAME").Value);
                rootNode.Nodes.Add(node);

                if (e.Name == "FEATURE")
                {
                    node.SelectedImageIndex = 1; 

                }
                else if (e.Name == "USER")
                {
                    node.SelectedImageIndex = 0;

                }

                LoadTree(e, node);
            }
        }

我的问题是我的每个人都有相同的图片,但我想要FEATURE指数1和USER指数2,但为什么它不起作用? :(

1 个答案:

答案 0 :(得分:1)

您应该使用 ImageIndex 属性而不是 SelectedImageIndex

第一个是来自 ImageList 的索引,用于未选定状态的节点,第二个是在使用鼠标,键盘或代码选择节点时应用的。