我的TreeView里有几个一级节点,我想把这几个节点换成不用的图标,请各位高手帮忙,本人没有经验,请说的详细些!!十分感谢,很急。尽量提供些代码参考...节点数据是从数据库读取的。

解决方案 »

  1.   

    树的每个节点都可以有不同的图标显示,你可以查看MSDN的TreeNode.ImageIndex属性及TreeNode.SelectedImageIndex属性。
      

  2.   

    下面的代码示例为 TreeView 控件创建并分配一个 ImageList,并用 TreeNode 对象填充 TreeView 控件。为树节点分配 ImageList 中的图像以供处于选定或未选定状态时显示。本示例要求有一个包含 TreeView 的 Form 和一个包含 Customer 对象的 ArrayList,而这些对象均包含 Order 对象。本示例还要求已定义 Customer 对象和 Order 对象。
    private void FillTreeView()
    {
    // Load the images in an ImageList.
    ImageList myImageList = new ImageList();
    myImageList.Images.Add(Image.FromFile("Default.gif"));
    myImageList.Images.Add(Image.FromFile("SelectedDefault.gif"));
    myImageList.Images.Add(Image.FromFile("Root.gif"));
    myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif"));
    myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif"));
    myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif"));
    myImageList.Images.Add(Image.FromFile("SelectedOrder.gif"));

    // Assign the ImageList to the TreeView.
    myTreeView.ImageList = myImageList;

    // Set the TreeView control's default image and selected image indexes.
    myTreeView.ImageIndex = 0;
    myTreeView.SelectedImageIndex = 1; /* Set the index of image from the 
    ImageList for selected and unselected tree nodes.*/
    this.rootImageIndex = 2;
    this.selectedCustomerImageIndex = 3;
    this.unselectedCustomerImageIndex = 4;
    this.selectedOrderImageIndex = 5;
    this.unselectedOrderImageIndex = 6;

    // Create the root tree node.
    TreeNode rootNode = new TreeNode("CustomerList");
    rootNode.ImageIndex = rootImageIndex;
    rootNode.SelectedImageIndex = rootImageIndex;
          
    // Add a main root tree node.
    myTreeView.Nodes.Add(rootNode); // Add a root tree node for each Customer object in the ArrayList.
    foreach(Customer myCustomer in customerArray)
    {
    // Add a child tree node for each Order object.
    int countIndex=0;
    TreeNode[] myTreeNodeArray = new TreeNode[myCustomer.CustomerOrders.Count];
    foreach(Order myOrder in myCustomer.CustomerOrders)
    {
    // Add the Order tree node to the array.
    myTreeNodeArray[countIndex] = new TreeNode(myOrder.OrderID,
      unselectedOrderImageIndex, selectedOrderImageIndex);
    countIndex++;
    }
    // Add the Customer tree node.
    TreeNode customerNode = new TreeNode(myCustomer.CustomerName,
    unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray);
    myTreeView.Nodes[0].Nodes.Add(customerNode);
    }
    }
      

  3.   

    TreeNode.Image  楼上回答咯! 结贴