场景
效果
注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建一个form窗体,然后在窗体中拖拽一个ListView。
在form的shown事件中进行窗体的初始化。
private void Form1_Shown(object sender, EventArgs e) { listView1.GridLines = true;//在各数据之间形成网格线 listView1.View = View.Details;//显示列名称 listView1.FullRowSelect = true;//在单击某项时,对其进行选中 listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;//隐藏列标题 listView1.Columns.Add("文件名", listView1.Width - 65, HorizontalAlignment.Right);//设置头像 listView1.Columns.Add("类型", 60, HorizontalAlignment.Center);//设置头像 }
然后编写ListView的DragEnter事件
在事件中设置拖放目标中放置类型为复制。然后检索数据格式相关联的数据。
最后传递给方法Data_List来给ListView赋值。
private void listView1_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Copy; //设置拖放操作中目标放置类型为复制 String[] str_Drop = (String[])e.Data.GetData(DataFormats.FileDrop, true);//检索数据格式相关联的数据 Data_List(listView1, str_Drop[0]); }
赋值方法
public void Data_List(ListView LV, string F) //Form或MouseEventArgs添加命名空间using System.Windows.Forms; { string enlarge = ""; //验证是否是三个字母结尾的后缀名,是则截取后三个后缀名,否则后缀名为空 if (F.LastIndexOf(".") == F.Length - 4) { enlarge = F.Substring(F.LastIndexOf(".") + 1, 3); } ListViewItem item = new ListViewItem(F); item.SubItems.Add(enlarge); LV.Items.Add(item); }
代码下载
https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/12025760