容器内的子控件动态排序、拖动

本文介绍了如何在WinForm应用中实现FlowLayoutPanel控件内子按钮的动态排序和拖动功能。通过MouseDown、MouseMove事件判断并启动控件的DoDragDrop方法进行拖动,再结合DragEnter、DragDrop事件,实现控件在容器上的移动,并调整其在FlowLayoutPanel中的位置。允许拖放的目标容器需设置AllowDrop属性为true。
摘要由CSDN通过智能技术生成

在WinForm窗体上实现控件(这里以Button控件为例)的位置移动可利用DoDragDrop方法实现

1.对需要移动的控件利用MouseDown、MouseMove事件判断是否需要真的需要移动,防止误操作。

Point downLoc; //定义变量,记录鼠标按下控件的位置

private void button_MouseDown(object sender, MouseEventArgs e)

{

    downLoc = new Point(e.X, e.Y);

}

private void button_MouseMove(object sender, MouseEventArgs e)

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值