如何:设置 Windows 窗体 TreeView 控件的图标

更新:2007 年 11 月

Windows 窗体 TreeView 控件可在每个节点旁显示图标。图标紧挨着节点文本的左侧。若要显示这些图标,必须使树视图与 ImageList 控件相关联。有关图像列表的更多信息,请参见 ImageList 组件(Windows 窗体)如何:使用 Windows 窗体 ImageList 组件添加或移除图像

说明:

当应用程序调用 Application.EnableVisualStyles 时,Microsoft .NET Framework 1.1 版中的一个 bug 会使图像无法显示在 TreeView 节点上。要解决此 bug,请在调用 EnableVisualStyles 之后立即调用 Main 方法中的 Application.DoEvents。此 bug 在 .NET Framework 2.0 中已修复。

在树视图中显示图像

  1. 设置 TreeView 控件的 ImageList 属性为想要使用的现有 ImageList 控件。

    这些属性可在设计器中使用“属性”窗口进行设置,也可在代码中设置。

    TreeView1.ImageList = ImageList1
    
    treeView1.ImageList = imageList1;
    
    treeView1.set_ImageList(imageList1);
    
    treeView1->ImageList = imageList1;
    
  2. 设置节点的 ImageIndexSelectedImageIndex 属性。ImageIndex 属性确定正常和展开状态下的节点显示的图像, SelectedImageIndex 属性确定选定状态下的节点显示的图像。

    这些属性可在代码中设置,或在“树节点编辑器”中设置。若要打开“树节点编辑器”,请单击“属性”窗口中 Nodes 属性旁边的省略号按钮 (VisualStudioEllipsesButton 屏幕快照)。

    ' (Assumes that ImageList1 contains at least two images and
    ' the TreeView control contains a selected image.)
    TreeView1.SelectedNode.ImageIndex = 0
    TreeView1.SelectedNode.SelectedImageIndex = 1
    
    // (Assumes that imageList1 contains at least two images and
    // the TreeView control contains a selected image.)
    treeView1.SelectedNode.ImageIndex = 0;
    treeView1.SelectedNode.SelectedImageIndex = 1;
    
    // (Assumes that imageList1 contains at least two images and
    // the TreeView control contains a selected image.)
    treeView1.get_SelectedNode().set_ImageIndex(0);
    treeView1.get_SelectedNode().set_SelectedImageIndex(1);
    
    // (Assumes that imageList1 contains at least two images and
    // the TreeView control contains a selected image.)
    treeView1->SelectedNode->ImageIndex = 0;
    treeView1->SelectedNode->SelectedImageIndex = 1;
    

请参见

任务

如何:添加和删除 Windows 窗体 TreeView 控件中的节点

如何:循环访问 Windows 窗体 TreeView 控件的所有节点

如何:确定被单击的 TreeView 节点(Windows 窗体)

如何:向 TreeView 或 ListView 控件添加自定义信息(Windows 窗体)

参考

TreeView 控件概述(Windows 窗体)