关于 datagridview 拖拽文件 datagridview拖放 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你不是应该将这两个事件给单元格添加才对吗单元格属于datagridview里封装的子控件,你把文件拽到它上面并不会引发主控件的事件 单元格有 DragEnter 和 DragDrop事件么? 添加事件不要只会设计器里看属性,然后双击事件生成你应该可以看到designer文件里自动生成的代码,照着写循环行,给每个单元格用+=添加事件,然后测试一下好不好用呗不好用再想别的办法我也只是指出你一楼的办法存在的问题,可没有义务必须帮你弄出全套的代码来 我这不叫方法,什么叫方法?如果单元格根本都没有这俩事件,那不是我瞎JB搞,而是你在瞎JB搞没这俩事件文件根本就拖不进单元格里去 要么你就别用反正treeview是能拖进去 你好,首先AllowDrop 属性为true,然后要在DragEnter事件里这么写 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[] filePath = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string file in filePath ) { //file就是单个文件路径 } } private void dataGridView1_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Link; } else { e.Effect = DragDropEffects.None; } } private void dataGridView1_DragDrop(object sender, DragEventArgs e) { if (!e.Data.GetDataPresent(DataFormats.FileDrop)) { return; } var path = e.Data.GetData(DataFormats.FileDrop) as string[]; if (path != null && path.Length > 0) { var f = path[0]; if (!string.IsNullOrEmpty(f)) { MessageBox.Show(f); } } }首先AllowDrop 属性为true ,没问题呀 最后问题解决了···是因为权限的问题。http://blog.csdn.net/yuekunge/article/details/43019245 关于线程的问题! 串口通信SerialPort的问题 关于正则表达式的小问题 采集网易博客的评论信息 用Udp做了个p2p聊天,可就是不好使,怎么搞的(付程序,给看看!) 向高手们请教!!在vs2005中C#环境下使用Tchart控件的问题 询问如何在.NET中实现XP的界面风格? 关于ToolBar控件问题 请问一个ASP.net和数据库方面的问题(我是用SQL Server建的数据库),请高手回答 C# 中accord.net机器学习新手求助 document.close() 在手机UC浏览器无效,有什么办法? 怎么做一个通用的COM组件
单元格属于datagridview里封装的子控件,你把文件拽到它上面并不会引发主控件的事件
单元格有 DragEnter 和 DragDrop事件么?
你应该可以看到designer文件里自动生成的代码,照着写
循环行,给每个单元格用+=添加事件,然后测试一下好不好用呗
不好用再想别的办法我也只是指出你一楼的办法存在的问题,可没有义务必须帮你弄出全套的代码来
如果单元格根本都没有这俩事件,那不是我瞎JB搞,而是你在瞎JB搞
没这俩事件文件根本就拖不进单元格里去
反正treeview是能拖进去
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[] filePath = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in filePath )
{
//file就是单个文件路径
}
}
private void dataGridView1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Link;
}
else
{
e.Effect = DragDropEffects.None;
}
} private void dataGridView1_DragDrop(object sender, DragEventArgs e)
{
if (!e.Data.GetDataPresent(DataFormats.FileDrop))
{
return;
}
var path = e.Data.GetData(DataFormats.FileDrop) as string[];
if (path != null && path.Length > 0)
{
var f = path[0];
if (!string.IsNullOrEmpty(f))
{
MessageBox.Show(f);
}
}
}首先AllowDrop 属性为true ,没问题呀
最后问题解决了···
是因为权限的问题。
http://blog.csdn.net/yuekunge/article/details/43019245