zoukankan      html  css  js  c++  java
  • C#中无边框窗体拖动

    1         //定义一个bool变量标识是否拖动窗体
    2         private bool isMove = false;
    3         //记录鼠标的位置
    4         private Point point;
    定义的变量
     1         /// <summary>
     2         /// 窗体的鼠标按下事件
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void Form1_MouseDown(object sender, MouseEventArgs e)
     7         {
     8             isMove = true;
     9             //记录鼠标的位置
    10             point = e.Location;
    11         }        
    窗体的鼠标按下事件
     1         /// <summary>
     2         /// 窗体的鼠标移动事件
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void Form1_MouseMove(object sender, MouseEventArgs e)
     7         {
     8             //是否移动窗体
     9             if (isMove)
    10             {
    11                 //记录鼠标移动后的值
    12                 Point p = e.Location;
    13                 //计算鼠标按下和移动后的距离
    14                 int x = p.X - point.X;
    15                 int y = p.Y - point.Y;
    16                 //窗体的位置
    17                 this.Location = new Point(this.Location.X + x, this.Location.Y + y);
    18             }
    19         }
    鼠标移动事件
     1         /// <summary>
     2         /// 鼠标弹起事件
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void Form1_MouseUp(object sender, MouseEventArgs e)
     7         {
     8             //不允许在移动窗体
     9             isMove = false;
    10         }
    鼠标弹起事件

    Demo下载地址:

    无边框拖动窗体.zip

  • 相关阅读:
    web component的理解
    cdn
    const 命令
    let 的含义,及let 与 var 的区别
    选择器
    Qt5:Qt中一些函数功能介绍
    给软件工程师自学的建议
    Qt5:渐变效果的实现
    Wayland软件库 :替代 X Window 的软件库
    Qt5:窗口各类位置
  • 原文地址:https://www.cnblogs.com/xianchengzhang/p/12545836.html
Copyright © 2011-2022 走看看