panelContent.MouseDown += Panel_MouseDown;
// 为Panel添加鼠标移动事件处理程序
panelContent.MouseMove += Panel_MouseMove;
// 为Panel添加鼠标释放事件处理程序
panelContent.MouseUp += Panel_MouseUp; private Point _dragStartPoint; // 用于存储鼠标按下时的Panel位置
private void Panel_MouseDown(object sender, MouseEventArgs e)
{
// 当鼠标按下时,记录鼠标位置与Panel位置的偏移量
_dragStartPoint = new Point(e.X, e.Y);
} private void Panel_MouseMove(object sender, MouseEventArgs e)
{
// 如果鼠标左键被按下
if (e.Button == MouseButtons.Left)
{
// 计算新的Panel位置
Point newLocation = new Point(
panelContent.Left + (e.X - _dragStartPoint.X),
panelContent.Top + (e.Y - _dragStartPoint.Y)
);
// 设置Panel的新位置
panelContent.Location = newLocation;
}
} private void Panel_MouseUp(object sender, MouseEventArgs e)
{
// 当鼠标释放时,重置偏移量
_dragStartPoint = Point.Empty;
}

  

C# WinForm 中让panel 可以在WinForm 中移动的更多相关文章

  1. C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子

    C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用 ...

  2. C#winform和百度API互动-----之读取中js的参数

    上百度的API <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" c ...

  3. 在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理

    在基于DevExpress的多文档窗口界面中,我们一般使用XtraTabbedMdiManager来管理多文档窗口的一些特性,如顶部菜单,页面的关闭按钮处理,以及一些特殊的设置,本篇随笔介绍这些特点, ...

  4. FLEX4中的Panel如何实现带自定义图标和按钮

      做过flex开发的程序员都知道,使用flex3中的panel自定义按钮很容易,而且flex3的panel有icon属性.但是flex4的中大部分的控件与flex3中的控件实现方式有很大的变化,同是 ...

  5. (转载)c++builder/delphi中透明panel及透明窗口的实现方法_delphi教程

    c++builder/delphi中透明panel及透明窗口的实现方法_delphi教程 可能大多数程序员会问:透明窗口,特别是透明Panel有什么应用价值呢?可别小看它们哦,下面我就来讲讲他们的巨大 ...

  6. c#在panel或groupbox中添加窗体,实现点击不同按钮或combox时panel中窗体切换,在xtratabcontrol中添加窗体

    参考panel添加窗体: http://blog.csdn.net/illegalname/article/details/65444249 http://blog.csdn.net/Eastmoun ...

  7. 在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体

    在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体 在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体ShowAllPage sAllPage = new ShowAllPage();   ...

  8. Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器

    一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...

  9. 借助JavaScript中的Dom属性改变Html中Table边框的颜色

    借助JavaScript中的Dom属性改变Html中Table边框的颜色 -------------------- <html> <head> <title>我是页 ...

  10. 借助JavaScript中的时间函数改变Html中Table边框的颜色

    借助JavaScript中的时间函数改变Html中Table边框的颜色 <html> <head> <meta http-equiv="Content-Type ...

随机推荐

  1. study Python3【3】的函数

    Python的函数定义简单,但灵活度非常大.功能强大意味复杂.为了复习,把廖雪峰老师的该课程做个回顾. 参数有:必选参数.默认参数.可变参数.关键字参数.命名关键字参数. 计算x的n次方函数: def ...

  2. vscode安装离线插件autopep8

    商店 从上面的链接进去,在visual studio code一栏开始搜索,我要的是autopep8,所以搜索得到的是这样的: 点进去后,是这个界面,然后我是离线下载,要的是拓展包,所以是下面操作 下 ...

  3. Linux shutdown 命令

    Linux shutdown 命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机. 使用权限:系统管理者. 语法 shutdown [-t ...

  4. Codeforces Round 1016 (Div. 3)题解

    题目地址 https://codeforces.com/contest/2093 锐评 在所有题意都理解正确的情况下,整体难度不算太难.但是偏偏存在F这么恶心的题意,样例都不带解释一下的,根本看不懂题 ...

  5. 使用Python解决Logistic方程

    引言 在数学和计算机科学中,Logistic 方程是描述人口增长.传播过程等现象的一种常见模型.它通常用于表示一种有限资源下的增长过程,比如动物种群.疾病传播等.本文将带领大家通过 Python 实现 ...

  6. public boolean add(E e)的源码分析

    public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...

  7. @Scheduled 定时任务自定义

    简介 @Scheduled 定时任务自定义可以通过SchedulingConfigurer实现. SchedulingConfigurer 是 Spring Framework 中的一个接口,用于配置 ...

  8. Navicat Premium 16无限试用教程

    1.前往官网下载[Navicat Premium 16] http://www.navicat.com.cn/products 2.创建清理试用信息bat Navicat Premium 16Crac ...

  9. mybatis——分页插件PageHelper的使用

    项目开发中涉及列表查询时,经常会需要对查询结果进行分页处理:常用的一个插件--PageHelper,是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,一致支持mysql. ...

  10. 康谋分享 | ADTF过滤器全面解析:构建、配置与数据处理应用

    在ADTF (Automotive Data and Time-Triggered Framework)中,过滤器(Filter)扮演着数据处理的核心角色.过滤器是处理数据流的基本单元,它们接收.处理 ...