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

求c#两个问题 我创建的是windos应用程序窗口
本帖最后由 xx45633 于 2013-03-21 18:49:15 编辑
1当我单击某个叶子结点的时候,它的图片会变成index为0的文件夹结点的图片
 而当点另一个叶子结点的时候,它又变回去,而另一个结点又变成index为0的文件夹的结点的图片!
 如图
     
     
     程序除了设置成如下以外
     
     程序的代码如下,是生成文件夹的代码,我当然也希望各位帮我提高点效率谢谢了
      
 //根据文件夹创建结点
        private void BindChilddir(TreeNode p_node)
        {
            string node_path = p_node.Tag.ToString();
            System.IO.DirectoryInfo f_dir = new System.IO.DirectoryInfo(node_path);

            System.IO.FileSystemInfo[] fin_fos = f_dir.GetFileSystemInfos();
            int length = fin_fos.Length;
            for (int i = 0; i < length; ++i )
            {
                //string type = fin_fos[i].GetType().ToString();
                TreeNode node = new TreeNode();
                node.Text = fin_fos[i].Name;
                node.Tag = fin_fos[i].FullName;
                p_node.Nodes.Add(node);
                //是文件夹时才递归调用自己
                if ("System.IO.DirectoryInfo" == fin_fos[i].GetType().ToString())
                {
                    BindChilddir(node);
                }
                else
                {
                    node.ImageIndex = 1;
                }
            }


2 当我先单击某个结点的时候,它会加亮,也就是蓝色的底,而当我在别的点右键的时候,这个蓝色的底没跟着移动,这个要怎么实现呢?
  如图