码迷,mamicode.com
首页 > 其他好文 > 详细

pictureBox不能触发DragEnter事件原因

时间:2015-01-16 23:51:50      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:拖拽打开图片   c#   


         项目中有时候需要将一些文件拖拽进来打开,比如MapGIS 或者ARCGIS的地图显示试图中可以直接打开相应拖拽进来的文件。小编今天尝试拖拽打开图片,但是发现DragEnter事件并没有被触发。原来发现需要属性AllowDrop的支持。



        开发环境:.Net FrameWork 3.5

        IDE:        Visual Studio 2010


具体代码如下:

        private void Form1_Load(object sender, EventArgs e)
        {
            pictureBox1.AllowDrop = true;
        }

        private void pictureBox1_DragEnter(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.All;
            }
        }

        private void pictureBox1_DragDrop(object sender, DragEventArgs e)
        {
            //获取第一个元素
            string FileName = (e.Data.GetData(DataFormats.FileDrop, false) as string[])[0];
            try
            {
                pictureBox1.Load(FileName);
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

         知识点1:
 pictureBox1.AllowDrop = true;
        解决pictureBox不能拖拽的问题。

      知识点2

(e.Data.GetData(DataFormats.FileDrop, false) as string[])
       获取拖拽的文件的完整路径


          源码下载地址:点击这里下载


pictureBox不能触发DragEnter事件原因

标签:拖拽打开图片   c#   

原文地址:http://blog.csdn.net/wujianyouhun/article/details/42785981

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!