我的主窗體中左邊的一個TreeView,加載的是系統功能菜單,現我想設置三種圖標
第一種:用戶未打開的子窗體圖標
第二種:用戶已打開的子窗體圖標(擔不是當前窗體)
第三種:用戶已打開的子窗體圖標(是當前窗體)請問怎樣在TreeView的項中設置這三種圖標?

解决方案 »

  1.   

    TreeNode里设置图标,可以设置打开和末打开。
    可以设置不同节点有不同的图标,
    TreeNode.ImageKey
    TreeNode.SelectedImageKey
      

  2.   


                this.treeView1.SelectedImageKey = imageList1.Images[0];
                this.treeView1.ImageIndex = imageList1.Images[1];
      

  3.   

    利用TreeView的ImageList保存图片,ImageIndex显示未选中的节点, SelectedImageIndex显示选中的节点
      

  4.   

    如果使用ShowDialog显示子窗体,子窗体关闭后控制流程自然转回父窗体。
    这个时候就可以还原图标。
      

  5.   

    我使用的不是ShowDialog顯示窗體,請問還有什麼方法回調主窗體的方法呢?
      

  6.   

    子窗体是新的winform吗?treeview打开新的form这种用法倒是不常见
    点击一个节点时,你和肯定有代码打开新form,比如代码可能是 
    From f = new Form(); 
    f.Show();  
    //Change Image
    这段代码肯定是在主窗口中,对吧,这样可以给f加入个close事件,处理关闭时要做的事,上面代码要改成
    From f = new Form(); 
    f.
    f.Show();  
    f.FormClosed += new FormClosedEventHandler(f_FormClosed);
    //Change Image....void f_FormClosed(object sender, FormClosedEventArgs e)
    {
        //Restore image
    }f_FormClosed这个方法也会生成在主窗口中,所以我们可以在这里进行对图标进行恢复如果允许用户打开多个窗口,还得用个记数器记录是不是所有的窗口都关闭了,当所有窗口都关闭了才能恢复