listview已经可以显示文件信息,陈列图标
我想选中文件,这样获得文件的完整路径呢
文件显示用treeview控制listview的xx
  在线等答案
提供下思路,最好有源码
急,谢谢!

解决方案 »

  1.   

    我在listview旁边做了个删除按钮
    我要怎样点击删除
    就删除listview选中的文件呢?
      

  2.   


    namespace FrmChange
    {
        partial class ListViewEx
        {
            /// <summary> 
            /// 必需的设计器变量。
            /// </summary>
            private System.ComponentModel.IContainer components = null;        /// <summary> 
            /// 清理所有正在使用的资源。
            /// </summary>
            /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }        #region 组件设计器生成的代码        /// <summary> 
            /// 设计器支持所需的方法 - 不要
            /// 使用代码编辑器修改此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {
                this.listViewFile = new System.Windows.Forms.ListView();
                this.btnDelete = new System.Windows.Forms.Button();
                this.SuspendLayout();
                // 
                // listViewFile
                // 
                this.listViewFile.Dock = System.Windows.Forms.DockStyle.Top;
                this.listViewFile.Location = new System.Drawing.Point(0, 0);
                this.listViewFile.Name = "listViewFile";
                this.listViewFile.Size = new System.Drawing.Size(331, 267);
                this.listViewFile.TabIndex = 0;
                this.listViewFile.UseCompatibleStateImageBehavior = false;
                // 
                // btnDelete
                // 
                this.btnDelete.Dock = System.Windows.Forms.DockStyle.Bottom;
                this.btnDelete.Location = new System.Drawing.Point(0, 266);
                this.btnDelete.Name = "btnDelete";
                this.btnDelete.Size = new System.Drawing.Size(331, 23);
                this.btnDelete.TabIndex = 1;
                this.btnDelete.Text = "delete";
                this.btnDelete.UseVisualStyleBackColor = true;
                this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
                // 
                // ListViewEx
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.Controls.Add(this.btnDelete);
                this.Controls.Add(this.listViewFile);
                this.Name = "ListViewEx";
                this.Size = new System.Drawing.Size(331, 289);
                this.ResumeLayout(false);        }        #endregion        private System.Windows.Forms.ListView listViewFile;
            private System.Windows.Forms.Button btnDelete;
        }
    }
    using System.Windows.Forms;
    using System.IO;namespace FrmChange
    {
        public partial class ListViewEx : UserControl
        {
            private readonly string[] pathArray = {
                                             @"E:\PathArray\1.txt", @"E:\PathArray\2.txt", @"E:\PathArray\3.txt",
                                             @"E:\PathArray\4.txt", @"E:\PathArray\5.txt", @"E:\PathArray\6.txt"
                                         };        public ListViewEx()
            {
                InitializeComponent();
                InitialListView();
            }
            private void InitialListView()
            {
                listViewFile.View = View.List;
                listViewFile.CheckBoxes = true;
                foreach (string path in pathArray)
                {
                    if (File.Exists(path))
                    {
                        ListViewItem lvItemFile = new ListViewItem(path);
                        lvItemFile.Tag = path;
                        listViewFile.Items.Add(lvItemFile);
                    }
                }
            }        private void UpdateListView()
            {
                listViewFile.Items.Clear();
                foreach (string path in pathArray)
                {
                    if (File.Exists(path))
                    {
                        ListViewItem lvItemFile = new ListViewItem(path);
                        lvItemFile.Tag = path;
                        listViewFile.Items.Add(lvItemFile);
                    }
                }
            }        private void btnDelete_Click(object sender, System.EventArgs e)
            {
                foreach (ListViewItem lvItemFile in listViewFile.Items)
                {
                    string path = lvItemFile.Tag as string;
                    if (!string.IsNullOrEmpty(path))
                    {
                        if (File.Exists(path) && lvItemFile.Checked)
                        {
                            File.Delete(path);
                            UpdateListView();
                        }
                    }
                }
            }
        }
    }我做了个用户控件,你把代码贴到VS里面试试