关于 .Net中文件拖放的问题

今日需要做个功能,就是客户直接拖动文件到winForm界面上,然后显示文件内容。

其实这个功能点就是 获取拖动文件的路径即可。

一般都是需设置三个地方:

1、接受文件的控件的 AllowDrop 属性设置为 true。

2、接受文件的控件加上 DragDrop 事件。

this.dgv_openJsonFile1.Cursor = System.Windows.Forms.Cursors.Default;
            if(!e.Data.GetDataPresent(DataFormats.FileDrop)) {
                return;
            }
            var path = e.Data.GetData(DataFormats.FileDrop) as string[];
            if(path != null && path.Length > 0) {
                var jsonPath = path[0];
                if(!string.IsNullOrEmpty(jsonPath)) {
                  // TODO:jsonPath 及文件的路径。。。
                }
            }


3、接受文件的控件加上 DragEnter事件。

if(e.Data.GetDataPresent(DataFormats.FileDrop)) {
                e.Effect = DragDropEffects.Link;
                this.dgv_openJsonFile1.Cursor = System.Windows.Forms.Cursors.Arrow;
            } else {
                e.Effect = DragDropEffects.None;
            }


只需以上三个即可

可是我却搞了很久没搞出来。

知道最后才知道,原来是因为 权限问题:

因为不同权限提升级别的程序之间无法共享拖放消息。您可以做一个简单的实验。用管理员运行记事本,然后从 Windows 资源管理器拖 TXT 文件进去,可以发现文件根本不会打开。因为 Windows Explorer 的权限提升级别为 InvokeAsUser,而不是 RequireAdministrator。
同样级别的权限提升账户运行的程序可以 Share 拖放。
如果不涉及到系统的资源,如拖文件。自己程序内的拖动与 UAC 的级别无关。


我的原因是因为我以管理员身份运行了VS···去掉以管理员身份运行,及正常。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FastReport.Net Designer是一个用于创建和编辑报表的可视化工具,它使用户能够方便地设计出具有各种样式和布局的报表。以下是关于FastReport.Net Designer的文详细教程: 1. 安装和启动:首先,您需要从FastReport.Net官方网站下载并安装FastReport.Net Designer。安装完成后,您可以在计算机上启动该程序。 2. 创建新报表:在FastReport.Net Designer,点击“文件”,然后选择“新建”来创建一个新报表。您可以选择空白报表或使用预设的模板。 3. 设计报表:在Designer的工具栏,您可以找到各种工具来设计报表。例如,您可以添加数据源、文本框、图表、表格等控件,并通过拖放的方式进行布局。 4. 设置数据源:在FastReport.Net Designer,您可以连接到各种数据源,例如数据库、XML文件等。通过点击工具栏的“数据”按钮,您可以设置和管理数据源。 5. 设置报表样式:Designer提供了各种样式和主题可供选择。您可以通过点击工具栏的“样式”按钮来选择和应用样式,以使报表具有更好的外观。 6. 添加数据绑定:将数据源与报表控件绑定是非常重要的。您可以通过右键单击报表控件并选择“属性”来设置数据绑定,然后选择对应的数据源和字段。 7. 预览和导出报表:在FastReport.Net Designer,您可以随时预览报表的效果。点击工具栏的“预览”按钮以查看报表的实际内容。您还可以选择将报表导出为PDF、Excel、Word等格式。 8. 保存和加载报表:当您完成报表的设计后,记得及时保存。通过点击工具栏的“保存”按钮,您可以保存报表为FRX或FRE文件格式,并在需要时重新加载它们。 总结:FastReport.Net Designer是一个功能强大、易于使用的报表设计工具。希望这个文详细教程能帮助您理解和掌握FastReport.Net Designer的基本操作和功能,使您能够轻松创建出符合自己需求的报表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值