欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform中实现拖拽文件到ListView获取文件类型(附代码下载)

程序员文章站 2022-04-14 19:39:50
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建一个form窗体,然后在窗体中拖拽一个ListView。 在form的shown事件中进行窗体的初始化。 p ......

场景

效果

Winform中实现拖拽文件到ListView获取文件类型(附代码下载)

 

 

Winform中实现拖拽文件到ListView获取文件类型(附代码下载)

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建一个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事件

Winform中实现拖拽文件到ListView获取文件类型(附代码下载)

 

 

在事件中设置拖放目标中放置类型为复制。然后检索数据格式相关联的数据。

最后传递给方法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