关于 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 能否将数据库的事务思想用于对文件的操作? 请问如何在不同方法调用同一类的实例 我咋引用不到Excel捏 急!!如何获取当前datagrid中一共有多少条记录 请问如何把.net编译后的程序集中的一个乘号改成除号? MsChart 怎么导出excel或怎么打印 关于c#程序模块化的问题 请高手指点迷精 谢谢咯 C# 导出excel模板 在SQL SERVER查询结果集中实现每行数据的序号列 请问C#中的整数到底有几种类型,为什么书上说有九种,可我只见过八种! 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