如题!
  本人刚接触C#,有很多基本东西还不了解,望各位高手指教!

解决方案 »

  1.   

    如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
    然后用此去初始化treeview的ImageList属性那么添加节点的时候,可以如下:
    Dim tnNew As TreeNode = yourTreeView.Nodes.Add( "Test" )
    tnNew.ImageIndex = 0 'Index starts from 1
      

  2.   

    C#TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
    tnNew.ImageIndex = 0;//Index starts from 1
      

  3.   

    节点我都添加好了,现在只是要在节点前面加图标,
    Knight94(愚翁) 兄弟可否说的再详细一点啊,
      

  4.   

    如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
    然后用此去初始化treeview的ImageList属性那么添加节点的时候,可以如下:
    TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
    tnNew.ImageIndex = 0;//Index starts from 1
    ------------------------------------------------------------
    说的挺详细的了。这是在程序动态添加的。
    如果你所有节点使用相同的图标,那就可以为 TreeView 选择 ImageList.
    然后设置 ImageIndex 。如果让 node 被选择时有不同的图标就把 SelectedImageIndex 设置为不同的值。
      

  5.   

    为整个Tree增加一个Imagelist。然后为每个节点分配ImageIndex。
      

  6.   

    但是我在属性中不能设置Imagelist,ImageIndex啊!
      

  7.   


    你添加一个 ImageList 了么?
    它也是个控件。
      

  8.   

    从工具箱找到ImageList 拖到你的TreeView上 然后就可以设置了
      

  9.   

    Knight94(愚翁) 说的很清楚了啊。如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
    然后用此去初始化treeview的ImageList属性那么添加节点的时候,可以如下:
    TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
    tnNew.ImageIndex = 0;//Index starts from 1
    -----------------------------------------------------------
    按上面的做不就完了?
      

  10.   

    静态:
    创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,再在属性Image中找到你想要的图标
    动态:
    创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,如愚翁所说,在初始化树时TreeNode node=yourTreeView.Nodes.Add("");//节点添加
    node.ImageIndex=0;//0为ImageList1里的图标的索引值
      

  11.   

    大家说的我都明白,说的也很对,但是我想在一个TREEVIEW里添加不同的图标,在属性里选择只能是添加相同的图标啊,而被选择时,图标是不变的。
      

  12.   

    也就是说,我添加节点的时候不是用TreeNode node=yourTreeView.Nodes.Add("")这种方式添加的,而是从数据库把数据读出来,赋给一个变量,再根据条件来添加的。
      

  13.   

    代码?
    总会有添加node的时候吧?
    可能你的方法俺不清楚。
    我的是类似下面这样的。private void CreateTree()
    {dv = dtTree.DefaultView;
    dv.Sort = "TypeParentID ASC"; DataRowView[] arrDRV = dv.FindRows( 0 );//Get root data info
    if( arrDRV.Length == 0 ) 
    {
    return;
    }TreeNode tnNew = null;foreach( DataRowView drv in arrDRV )
    { tnNew = TreeView.Nodes.Add( drv.Row["TypeName"].ToString() );
    tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
    tnNew.SelectedImageIndex = 0;//这里设置图标
    tnNew.ImageIndex = 1; CreateTreeNode( ref tnNew );
    }this.ExpandAll();
    }
    private void CreateTreeNode( ref TreeNode tnParent )
    {DataRowView[] arrDRV = dv.FindRows( tnParent.Tag );//Get children data infoif( arrDRV.Length == 0 )
    {
    return;
    }TreeNode tnNew = null;foreach( DataRowView drv in arrDRV )
    {
    tnNew = tnParent.Nodes.Add( drv.Row["TypeName"].ToString() );
    tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag tnNew.SelectedImageIndex = 2;//这里设置图标
    tnNew.ImageIndex = 3; //如果是多层的话,就打开此句
    //CreateTreeNode( ref tnNew );
    }
    }
      

  14.   

    wdy9927(wdy9927)兄弟,谢谢你的回复,我会给你结分的,
    看来大家还是没有明白我的想法,呵呵。。
    我再给大家说一遍,就是我在一个TREEVIEW里添加了两棵树,我想把这两棵树的图标设置为不同的图标。就是这样的。我该怎么做?
      

  15.   

    先添加一个图像图标,然后图像图标和树关联,再设树的ImageIndex 即可.
      

  16.   

    一个treeview两棵树?那倒没有试过.你是怎么实现的?总有判断这个节点属于哪个树吧?属于第一课就加一种图标,属于另外一棵就加载另外一种图标,没试过啊,不知道可行不