首页 > 编程语言 >C#实现winform拖拽文本类型文件并读取内容功能

C#实现winform拖拽文本类型文件并读取内容功能

时间:2022-10-09 09:00:47浏览次数:82  
标签:控件 C# System private reader txt 拖拽 winform

利用winform窗体,或添加有属性AllowDrop的控件,可以实现拖拽文件文本类型文件并读取内容功能,txt、sql、html等类型文件都可以。

这里利用Button控件,向窗体添加两个Button控件,显示名称为“拖到上面”、“拖到下面”,表示拖拽的文件内容读取到上面、或下面的文本框。

给每个Button控件的DragDrop、DragEnter事件添加处理函数如下:

//第一个按钮
        private void button15_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.Link;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }

        private void button15_DragDrop(object sender, DragEventArgs e)
        {
            System.IO.StreamReader reader = new System.IO.StreamReader(((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString());
            string txt = reader.ReadToEnd();
            richTextBox1.Text = txt;
            reader.Close();
        }
//第二个按钮
        private void button16_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.Link;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }

        private void button16_DragDrop(object sender, DragEventArgs e)
        {
            System.IO.StreamReader reader = new System.IO.StreamReader(((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString());
            string txt = reader.ReadToEnd();
            richTextBox2.Text = txt;
            reader.Close();
        }

转载自:C#之winform实现文件拖拽功能

标签:控件,C#,System,private,reader,txt,拖拽,winform
From: https://www.cnblogs.com/han-zhonggong/p/16770931.html

相关文章

  • Echarts
    Echarts介绍D3.js是web端评价最高的JavaScript可视化工具库;ECharts.js是百度开发一个开源JavaScript可视化工具库;Highcharts.js是国外的一款可视化库,非商用免费,被......
  • JavaScript基础 看这一篇就够了
    JavaScript是什么?JavaScript是世界上最流行的客户端脚本语言,主要用于为网页添加交互,跟html,css并称为前端三大语言。JavaScript能做什么?客户端数据验证客户端数据计算......
  • TCP与UDP的区别
    连接性TCP是面向连接的协议,在收发数据前必须和对方建立可靠的连接,建立连接的3次握手、断开连接的4次挥手,为数据传输打下可靠基础;UDP是一个面向无连接的协议,数据传输前,源......
  • grub-mkrescue:错误: `mformat` invocation failed
     跟着兴业视频做操作系统的时候遇到了这个问题 解决方法:sudoapt-getinstallmtools参考:(40条消息)vscode连接远程Ubuntu编写操作系统,grub-mkrescue生成iso......
  • udp与tcp的区别
    TCP是面向连接的服务。在传输数据之前必须先建立连接,数据传送介绍后需要释放连接。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的传输服务(TCP的可靠性提现在T......
  • 五款Docker GUI工具
    链接:https://cloud.51cto.com/art/202010/628604.htm你是否还在大量控制台窗口中监控容器,还是对使用终端命令充满热情?而使用Docker的图形用户界面(GUI)工具,则可以更简......
  • Docker Desktop 可以直接启用Kubernetes 1.25 了
    作为目前事实上的容器编排系统标准,K8s无疑是现代云原生应用的基石,很多同学入门可能直接就被卡到第一关,从哪去弄个K8s的环境,DockerDesktop自带了Kubernetes服务,但是......
  • 关于贪心策略的一些小trick
    为什么要写这种如此简单的东西呢就是因为菜啊首先给出关于贪心的三个定义符合贪心选择的特性(GreedyChoiceProperty)我们需要证明我们的第一个选择(贪心选择GreedyCho......
  • 编码之ASCII,UTF-8(Unicode),GBK,GB2312
    编码之ASCII,UTF-8(Unicode),GBK,GB2312编码计算机中的编码,通俗的讲就是字符怎样在计算机中的表示和存储。要弄明白编码,就要清楚这里的表示和存储这两个概念:表示,也就是说的各......
  • Chiplet-汽车-芯片-激光雷达分析
     参考文献链接https://mp.weixin.qq.com/s/fCiPFKwXf63JtgZbKBwLaQhttps://mp.weixin.qq.com/s/6nDMuqGo-4QGJ99r9jNbUghttps://mp.weixin.qq.com/s/Mbt6I0htSmIy2S7U......