zoukankan      html  css  js  c++  java
  • C# WinForm .net Drag Drop

    C# WinForm .net Drag Drop

        .net 的WinForm中要支持拖放,必须做两方面的工作----源和目的

        源:在MouseDown事件中加入:DoDragDrop
            lbxDomain.DoDragDrop(lbxDomain.SelectedItem, DragDropEffects.Copy)

        目的:
            1.设AllowDrop = true
            2.在DragOver,DragDrop,DragEnter事件中处理
            private void txtDDL_DragEnter(object sender, DragEventArgs e)
            {
                e.Effect = DragDropEffects.Copy;           
             } 
            private void txtDDL_DragDrop(object sender, DragEventArgs e)
            {
               object obj = e.Data.GetData(DataFormats.Text);
             }
     
    ============
    下面给一个简单实例

    1.创建工程,放置一个 ListBox,用来接受从桌面或是资源管理器拖来的文件,命名为 listBox1

    2.在设计器或代码中设置 listBox1 的 AllowDrop = true

    3.为 listBox1 添加 DragEnter 和 DragDrop 事件代码
            private void listBox1_DragEnter(object sender, DragEventArgs e)
            {
                //判断拖入的对象格式
                if (e.Data.GetDataPresent(DataFormats.FileDrop, true) == true)
                {
                    //允许拖放
                    e.Effect = DragDropEffects.All;
                }
            }

            private void listBox1_DragDrop(object sender, DragEventArgs e)
            {
                //获取文件列表(文件夹会被当作文件处理)
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);

                //添加拖入的文件
                foreach (string file in files)
                {
                    listBox1.Items.Add(file);
                }

                //或者这样
                //listBox1.Items.AddRange(files);

            }
     
    ===========
  • 相关阅读:
    <转>lua 调用 C函数
    <转>VC之获取CPU序列号
    <转> 求结构体偏移
    借助 FireBug 进行轻量级代码自动生成。
    内存盘配置IIS临时目录
    导出带有复合表头的Excel方案.
    左右互博之精简代码
    [转]JavaScript 秘密花园
    MVC中,Ajax Post 数组的实现方案
    Sql 存储过程 参数传递空字符串, 到SQL 端变成了 空格!!
  • 原文地址:https://www.cnblogs.com/ceachy/p/2149101.html
Copyright © 2011-2022 走看看