c#拖放文件到表单
本文关键字:表单 文件 拖放 | 更新日期: 2023-09-27 18:18:24
如何通过拖放将文件加载到表单中?
哪个事件会出现?
我应该使用哪个组件?
和如何确定文件的名称和其他属性后,拖放到一个窗体?
谢谢!
代码 private void panel1_DragEnter(object sender, DragEventsArgs e){
if (e.Data.GetDataPresent(DataFormats.Text)){
e.Effect = DragDropEffects.Move;
MessageBox.Show(e.Data.GetData(DataFormats.Text).toString());
}
if (e.Data.GetDataPresent(DataFormats.FileDrop)){
}
}
好了,可以了。
文件呢?我怎样才能得到文件名和扩展名?
这只是一个dragEnter
动作
这段代码将遍历并打印所有拖到窗口中的文件的全名(包括扩展名):
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string filePath in files)
{
Console.WriteLine(filePath);
}
}
查看下面的链接获取更多信息
http://doitdotnet.wordpress.com/2011/12/18/drag-and-drop-files-into-winforms/private void Form2_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] filePaths = (string[])(e.Data.GetData(DataFormats.FileDrop));
foreach (string fileLoc in filePaths)
// Code to read the contents of the text file
if (File.Exists(fileLoc))
using (TextReader tr = new StreamReader(fileLoc))
{
MessageBox.Show(tr.ReadToEnd());
}
}
}
你需要工作2以下的事件,当然,当你的Control/Form AllowDrop属性为真。
private void Home_DragOver(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Link;
else
e.Effect = DragDropEffects.None;
}
private void Home_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
//YourOpenMethod(files);
}
}
享受…