在C#的CS结构中,怎么实现拖拽多个文件,实现把本地文件上传到数据库中,有控件么?求高手指点下。

在C#的CS结构中,怎么实现拖拽多个文件,实现把本地文件上传到数据库中,有控件么?求高手指点下。,第1张

首先设置Form的AllowDrop=true

public partial class Form1 : Form

{

    public Form1()

    {

        InitializeComponent()

    }

    private void btnStart_Click(object sender, EventArgs e)

    {

    }

    private void Form1_DragEnter(object sender, DragEventArgs e)

    {

        if (e.Data.GetDataPresent(DataFormats.FileDrop))

        {

            e.Effect = DragDropEffects.Link 

        }

        else

        {

            e.Effect = DragDropEffects.None

        }

    }

    private void Form1_DragDrop(object sender, DragEventArgs e)

    {

        string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString()

        // 接下来可以通过filestream来上传文件

    }

}

在DragDrop事件中能够得到拖放到窗体上的文件路径,然后使用filestream就可以上传了。

举个例子:

你现在打开了三个窗口,分别是:

C:\

C:\dir

D:\

在C:\里面有一个文件:file

你拖动C:\file这个文件到C:\dir这个窗口上,放开鼠标就等于把文件移动(剪切)到了C:\dir下面了

如果拖动C:\file这个文件到D:\这个窗口上(图标右下角会显示一个+号的),放开鼠标就等于把文件复制到D:\下面了

可以这样理解:

1.在相同的盘符中拖放文件就等于剪切

2.在相同的盘符中拖放同时按下CTRL键就等于复制

3.在不同的盘符中拖放就等于复制

4.在不同的盘符中拖放同时按下SHIFT键就等于移动(剪切)

从字面上就可以看出move是用于移动文件的。而cope有拼写错误,应该是copy用于文件复制(拷贝),cut和paste用于分别是将文件复制到剪裁板和将文件从剪裁版粘贴到当前目录(文件夹)下。要说明的是,这些函数尽在TC环境下具备,其他环境是没有的,另外,这三个函数的功能都是模仿 *** 作系统内部命令。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11639647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存