精华内容
下载资源
问答
  • 本来是在Program.Main里面直接用Application.Run显示一个窗体,可以正常响应DragEnter事件,但是以如下方法显示该窗体的话,就无法正常响应DragEnter事件了,请问各位大神怎么破? ![图片说明]...
  • 程序运行的时候,拖动硬盘里的文件到窗口,能触发这两个事件,而拖动“360安全桌面下的文件”到窗口的时候,只能触发DragEnter事件了,360安全桌面和这个程序,都是管理员用户运行的,怎么才能触发DragEnter?...
  • pictureBox不能触发DragEnter事件原因

    千次阅读 2015-01-16 22:41:19
    C# 拖拽打开图片示例。解决.net FrameWork 3.5不能触发拖拽事件的原因。手动设置属性AllowDrop。


             项目中有时候需要将一些文件拖拽进来打开,比如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[])
           获取拖拽的文件的完整路径


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


    展开全文
  • private void treeView_Jia_DragEnter(object sender, DragEventArgs e) { this.textBox1.Text = e.X.ToString() + "--" + e.Y.ToString(); TreeNode myNode = (TreeNode)(e.Data.GetData(typeof(TreeNode)));...
  • MFC如何响应树控件的DRAGENTER事件,类向导中怎么找不到事件啊?望知道的说下,谢谢了~
  • 且必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的) 1:DragEnter是你拖动后首次在进入某个控件内发生。 2:DragOver发生在DragEnter之后,当你移动拖动对象(鼠标)时发生,类似于MouseMove。 3:...

    窗体的AllowDrop属性必须设置成true;

    且必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的)

    1:DragEnter是你拖动后首次在进入某个控件内发生。

    2:DragOver发生在DragEnter之后,当你移动拖动对象(鼠标)时发生,类似于MouseMove。

    3:DragDrop当你松开鼠标时发生。

            private void textBox2_DragEnter(object sender, DragEventArgs e)
            {
                if(e.Data.GetDataPresent (DataFormats.FileDrop))
                {
                    e.Effect = DragDropEffects.Move;
                    MessageBox.Show("The TextBox2 DragEnter");
                }
            }
    
            //当有文件拖拽到Form1上面时,触发事件
            private void Form1_DragEnter(object sender, DragEventArgs e)
            {
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    e.Effect = DragDropEffects.Move;
                    MessageBox.Show("The Form  DragEnter");
                }
            }

    Leave事件

            private void textBox2_Leave(object sender, EventArgs e)//光标在textBox2上,离开后触发的事件:弹出MessageBox
            {
                MessageBox.Show("Leave the textBox2");
            }

    回车:按下Enter键触发事件

            //在这里添加一个回车事件,当按下回车键时,触发事件
            private void textBox3_KeyDown(object sender, KeyEventArgs e)
            {
                if(e.KeyCode==Keys.Enter)//当点击Enter键时
                {
                    MessageBox.Show("输入完成");
                }
            }

            //groupBox1中包含radioButton1-4,groupBox2包括5-7,下面保证groupBox1只选中一个选项
            private void groupBox1_Enter(object sender, EventArgs e)
            {
                RadioButton[] radioButton = new RadioButton[7]
                {
                    radioButton1,radioButton2,radioButton3,radioButton4,radioButton5,radioButton6,radioButton7
                };
                foreach (RadioButton r in radioButton)
                {
                    if (r.Checked)
                    {
                        r.Checked = false;
                        break;
                    }
                }
            }






    展开全文
  • DragDrop、DragEnter两个事件

    千次阅读 2019-03-05 14:21:16
    private void FormReport_DragEnter(object sender, DragEventArgs e) { //若e中携带的数据与指定数据格式一致,则 if (e.Data.GetDataPresent(typeof(DateTime[]))) e.Effect = DragDropEffects.Link; else e....

    实现拖放效果:

    1. 目标控件
      private void FormReport_DragEnter(object sender, DragEventArgs e)
      {
      //若e中携带的数据与指定数据格式一致,则
      if (e.Data.GetDataPresent(typeof(DateTime[])))
      e.Effect = DragDropEffects.Link;
      else
      e.Effect = DragDropEffects.None;//不接受该数据
      }
      private void FormReport_DragDrop(object sender, DragEventArgs e)
      {
      DateTime[] ids = (DateTime[])e.Data.GetData(typeof(DateTime[]));
      Array.Sort(ids);
      }

    2. 源控件
      private void dgvResult_MouseDown(object sender, MouseEventArgs e)
      {
      if (e.Button == MouseButtons.Right)
      {
      DateTime[] ids = GetSelection();
      if (ids != null)
      {
      //调用DoDragDrop()方法,实现拖放效果
      dgvResult.DoDragDrop(ids, DragDropEffects.Link);
      }
      }
      }
      知识点总结:

    3. 实现拖放效果时,C#中提供了一个系统方法DoDragDrop方法,用于实现开始拖放操作,该方法由Control类所定义,由于控件均直接或是间接派生于Control类,因此开发人员可以在任何可视化组件中调用DoDragDrop方法。DoDragDrop方法使用语法如下:
      public DragDropEffects DoDragDrop ( Object data,DragDropEffects allowedEffects)
      data:用户所要拖动的数据内容。必须将所要拖动的内容传入到这个方法的第一个参数位置。
      allowedEffects:DragDropEffects枚举值之一,此类型包含了拖动操作的效果。 DragDropEffects枚举值包括:
      All 从拖动源复制、移除数据,并将其滚动到放置目标中
      Copy 将数据复制到放置目标
      Link 将拖动源中的数据链接到放置目标
      Move 将拖动源的数据移动到放置目标
      None 放置目标不接受该数据
      Scroll 即将在放置目标中开始滚动,或当前正在滚动

    4. C#中提供了一个系统拖放事件,与拖放方法一起使用来达到更好的效果。常用的拖放事件如表所示。
      DragEnter事件:在将对象拖入控件的边界时发生。
      DragDrop事件:在完成拖放操作时发生。
      DragLeave 如果用户移出一个窗口,则引发DragLeave事件
      DragOver 如果鼠标移动但停留在同一个控件中,则引发DragOver事件
      也就是说,当你把文件拖入控件边界时,首先触发事件DragEnter,如果在控件边界内松开,那么会触发事件DragDrop,如果没有在控件边界内松开,在其他位置松开,则不会触发DragDrop。 若需要实现拖入控件,则应设置控件的属性AllowDrop为ture。

    展开全文
  • 但是,如果这是您唯一要使用的文件,那么很高兴知道任何特定的dragenter或dragover事件是否实际上具有文件。 与之不同的是,例如,仅拖动某些选定的文本。 将事件对象发送到此函数,它将返回真相(假设您使用的...

    HTML5拖放非常适合处理文件上传。 但是,如果这是您唯一要使用的文件,那么很高兴知道任何特定的dragenterdragover事件是否实际上具有文件。 与之不同的是,例如,仅拖动某些选定的文本。

    将事件对象发送到此函数,它将返回真相(假设您使用的浏览器支持所有这些功能 ):

    function containsFiles(event) {
    
        if (event.dataTransfer.types) {
            for (var i = 0; i < event.dataTransfer.types.length; i++) {
                if (event.dataTransfer.types[i] == "Files") {
                    return true;
                }
            }
        }
        
        return false;
    
    }

    翻译自: https://css-tricks.com/snippets/javascript/test-if-dragenterdragover-event-contains-files/

    展开全文
  • 摘要:你的应用程序需要从windows资源管理器拖动文件到你的WinForm上,你会发现原本在XP和Win2003下运行很正常的程序,结果到了win7下就不支持拖拽了,DragEnter/DragOver/DragDrop等事件统统都不被触发。...
  • 关于dodragdrop,dragenter/dragdrop

    千次阅读 2007-01-27 16:14:00
    折磨了我两天的问题,为什么总是只显示那个禁止的标志,不显示drageffect而找来例子又很长,看着看着也看不出什么毛病来,后来经过几个例子下来后才发现一个通用的特征 ,就是都有那个dragenter事件,再测试下来发现...
  • DragEnter事件:在将对象拖入控件的边界时发生。 DragDrop事件:在完成拖放操作时发生。 也就是说,当你把文件拖入控件边界时,首先触发事件DragEnter,如果在控件边界内松开,那么会触发事件DragDrop,如果没有...
  •  如果同时你的应用程序需要从windows资源管理器拖动文件到你的WinForm上,你会发现原本在XP和Win2003下运行很正常的程序,结果到了win7下就不支持拖拽了,DragEnter/DragOver/DragDrop等事件统统都不被触发。...
  • 由于 WIN8 是 Metro 界面,所以在 C# 下的普通控件都不触发 DragDrop,DragEnter事件。 但是 WIN7,WINXP 下均正常。请问该如何做?100分相赠,谢谢!
  • dragenter 和 dragleave

    2017-06-13 23:09:00
    唯一不懂是:为什么在dragover事件中,还要重复调用一下 ._dragEnterHandler. 呢??目的何在?   最后看一下它是如何绑定事件的吧! function bindFn( fn, context ) {  return function() {  return...
  • 设置元素为可拖放首先,为了使元素可拖动,把 draggable 属性设置为 true :拖拽事件 名称 ... 目标元素上绑定dragenter事件,当拖拽元素进入目标元素时触发 dragover 目标元素上绑定dragover事件,
  • private void lbFilePath_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.All; ...
  • 在开发.NET WinForm程序时,有... 给文本框添加DragEnter事件 代码如下: private void textBox1_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop, false)) { e.Effect
  • 还有就是如何在拖动控件的时候让控件跟着鼠标一块移动。
  • 在开发.NET WinForm程序时,有时候我们希望窗体上的文本框能接受鼠标拖放事件,比如允许将文件直接拖放到文本框中以直接获取到文件的本地路径,或者将...2. 给文本框添加DragEnter事件 privatevoidtextBox1_DragE...
  • 本以为是个简单的操作,分分钟搞定,结果写完发现拖拽的时候的改变一直闪动,触发的dragenter事件中总是夹着dragleave。 原因是,鼠标进入事件监听的子元素的时候,会先触发dragleave事件。...
  • 今天工作中,遇到了一个...奇葩的事出现了,在我dragenter的时候不断的触发dragleave,当时我就满脸的黑人问号,好在最终,老天眷顾我,哈哈,被我发现了其中的奥妙,下面,我就举个列子,贴代码,给大家介绍下,为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,670
精华内容 1,468
关键字:

dragenter事件