C#之鼠标拖动复制文本功能

一.原理解释

在winform桌面程序设计过程中,实现鼠标拖动复制文本功能应用还是比较广泛的。
在这里插入图片描述
如上图所示,鼠标拖动将源数据复制到目标数据。整个过程是以事件触发为基础,所使用的事件有3个:
第一:TextBox的MouseMove事件,引发条件为鼠标指针移过TextBox控件。此事件实现捕捉拖放操作。
第二:TextBox的DragDrop事件,引发条件为TextBox控件拖放操作完成。此事假实现目标数据更新显示。
第三:TextBox的DragEnter事件,引发条件为鼠标将源数据拖动到TextBox控件的工作区。此事件实现将拖动操作的源数据转移到目标数据。
其中事件数据这个参数应用也很关键,这里是MouseEventArgs和DragEventArgs,这两个对象为拖放功能提供数据。

二.具体代码

//源数据的拖放操作
private void txt1_MouseMove(object sender, MouseEventArgs e)       
{        
    //判断是否按下鼠标左键           
    if (e.Button == MouseButtons.Left)
    {              
       txt1.DoDragDrop(txt1.Text, DragDropEffects.Copy);
    }
}

//目标数据的更新显示
private void txt2_DragDrop(object sender, DragEventArgs e)
{
    //更新显示文本
    txt2.Text = e.Data.GetData(DataFormats.Text).ToString();
}

//目标数据的拖放功能选择
private void txt2_DragEnter(object sender, DragEventArgs e)
{
    //选择复制操作
    e.Effect = DragDropEffects.Copy;
}        

三.注意事项

1.一定要将目标数据的AllowDrop属性设置为True,该值指示控件是否接受用户拖放到它上面的数据,否则无法实现功能。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值