利用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实现文件拖拽功能