当前位置:  开发笔记 > 编程语言 > 正文

从Windows文件资源管理器拖放到Windows窗体上无法正常工作

如何解决《从Windows文件资源管理器拖放到Windows窗体上无法正常工作》经验,为你挑选了1个好方法。

我在将文件从Windows资源管理器拖到Windows窗体应用程序时遇到问题.

我拖动文本时工作正常,但由于某种原因它无法识别文件.这是我的测试代码:

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_DragDrop(object sender, DragEventArgs e)
        {

        }

        private void Form1_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.Text))
            {
                e.Effect = DragDropEffects.Copy;
            }
            else if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.Copy;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }
    }
}

在Form1上将AllowDrop设置为true,正如我所提到的,如果我将文本拖到窗体上,它就可以工作,而不是实际的文件.

我正在使用Vista 64位...不确定这是否是问题的一部分.



1> Gene..:

问题来自Vista的UAC.DevStudio以管理员身份运行,但资源管理器以普通用户身份运行.从资源管理器中拖动文件并将其放在DevStudio托管应用程序上时,这与尝试与特权用户通信的非特权用户相同.这不被允许.

当您在调试器外部运行应用程序时,这可能不会显示.除非您以管理员身份运行它(或者如果Vista自动检测到它是安装程序/安装应用程序).

您还可以作为管理员运行资源管理器,至少用于测试.或者禁用UAC(我不建议这样做,因为你真的想在开发期间捕获这些问题,而不是在部署期间!)

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有