首先设置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环境下具备,其他环境是没有的,另外,这三个函数的功能都是模仿 *** 作系统内部命令。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)