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);

        }
 
===========
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值