場景
效果
注:
博客主頁:
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