Winform中實現拖拽文件到ListView獲取文件類型(附代碼下載)

場景

效果

 

 

注:編程

博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關注公衆號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。spa

實現

新建一個form窗體,而後在窗體中拖拽一個ListView。.net

在form的shown事件中進行窗體的初始化。code

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事件orm

 

 

在事件中設置拖放目標中放置類型爲複製。而後檢索數據格式相關聯的數據。blog

最後傳遞給方法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/12025760get

相關文章
相關標籤/搜索