FileInfo file = new FileInfo(lvControl.SelectedItems[0].Text);
                    TreeNode node = new TreeNode(file.Name); //文件名作为节点文本
                    node.Tag = file.FullName; //完整路径存放在Tag属性里面这样node.tag.tostring()与打开文件对话框的dlg.filename为什么不能一样的使用?怎么改?下为完整代码,此为listview项目双击事件 public void listview1_ItemActivate(object sender, EventArgs e)
        {
     
            string sfileName = "";
            ListView lvControl = (ListView)sender;
            sfileName = lvControl.SelectedItems[0].Tag == null ? "" : lvControl.SelectedItems[0].Tag.ToString();
            if (sfileName == "")
            {
              
                    Form1 f = new Form1();
                    IWorkspaceFactory pWorkspaceFactory;
                    IFeatureWorkspace pFeatureWorkspace;
                    IFeatureLayer pFeatureLayer;                    //获取当前路径和文件名
                   
             
                   FileInfo file = new FileInfo(lvControl.SelectedItems[0].Text);
                    TreeNode node = new TreeNode(file.Name); //文件名作为节点文本
                    node.Tag = file.FullName; //完整路径存放在Tag属性里面
                  
              
                    string strFullPath = node.Tag.ToString;
                    if (strFullPath == "") return;
                    int Index = strFullPath.LastIndexOf("\\");
                    string filePath = strFullPath.Substring(0, Index);
                    string fileName = strFullPath.Substring(Index + 1);
                    textBox1.Text = filePath;
                    textBox2.Text = fileName;                    //打开工作空间并添加shp文件
                    pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
                    pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(filePath, 0);
                    pFeatureLayer = new FeatureLayerClass();                    pFeatureLayer.FeatureClass = pFeatureWorkspace.OpenFeatureClass(fileName);
                    pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;
                    axMapControl1.Map.AddLayer(pFeatureLayer);
                    axMapControl1.ActiveView.Refresh();
                }
                else
                {
                    GetFolderTreeView(sfileName);
                }
            
        }

解决方案 »

  1.   

    //显示文件
                TreeView1.Nodes.Clear();
                if (Path1.Text.Trim () == "")
                {
                    myclass.msg("无法显示文件列表   请输入文件路径!  ");
                    return;
                }
                else
                {
                    file_dir = Path1.Text + "\\";
                }
                try
                {
                    file_url = file_dir;
                    string temp_file_url = file_url;
                    DirectoryInfo dirinfo = new DirectoryInfo(file_dir);                FileInfo fi;
                    string file_mess;
                    foreach (FileSystemInfo fsi in dirinfo.GetFileSystemInfos())
                    {
                        if (fsi is FileInfo)
                        {
                            fi = (FileInfo)fsi;
                            file_mess = fi.Name.ToString();                        tn = new TreeNode();
                            tn.ShowCheckBox = true;
                            tn.Value = file_mess;
                            tn.NavigateUrl = file_url;
                            tn.Target = "_blank";
                            TreeView1.Nodes.Add(tn);
                        }
                    }
                }
                catch
                {
                    myclass.msg("无法显示文件列表   请输入正确的文件路径!  ");
                    return;            }