日期:2014-05-17  浏览次数:20822 次

请教Winform中的treeView单击时图片变动问题

    public partial class FormMenuConfig : Form
    {
        public FormMenuConfig()
        {
            InitializeComponent();
            Init();           
        }

        private void Init()
        {
            ImageList imageList = new ImageList();
            imageList.Images.Add(Image.FromFile("Images/folder.gif"));          
            imageList.Images.Add(Image.FromFile("Images/page.gif"));
            treeMenu.ImageList = imageList;

            TreeNode nodeRoot = new TreeNode();
            nodeRoot.ImageIndex = 0;
            nodeRoot.Text = "根节点";                   

            TreeNode nodeDir1 = new TreeNode();
            nodeDir1.ImageIndex = 0;
            nodeDir1.Text = "目录1";
            nodeRoot.Nodes.Add(nodeDir1);

            TreeNode nodePage1 = new TreeNode();
            nodePage1.ImageIndex = 1;
            nodePage1.Text = "页面1";           
            nodeRoot.Nodes.Add(nodePage1);        

            //treeMenu是TreeView
            treeMenu.Nodes.Add(nodeRoot);            
        }         
       
    }

这里运行后,显示的是 根节点(文件夹)下有一个 目录1(文件夹),及页面1(页面)。
文件夹图标是folder.gif,具体页面图标是page.gif。 到这里一切显示如预期的。
可是单击(选中)nodePage1节点时,发现图标自动变成了文件夹的图标folder.gif,只有选中nodeDir1或者nodeRoot ,nodePage1才会重新变回正确的page.gif
请问怎么回事,谢谢!

------解决方案--------------------

        private void treeView2_AfterSelect(object sender, TreeViewEventArgs e)
       &nbs