zoukankan      html  css  js  c++  java
  • C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版

    适用于有标题栏和无标题栏窗体,适用于窗体内控件,当然 Form 也不例外,只要能添加 MouseDown、MouseMove 事件,无需添加 MouseUp 事件,也无需考虑 Form 是否有标题栏。

    本方法采用 Control.MousePosition,而没有采用 MouseEventArgs e 获取数据,是因为这样无需考虑窗体有无标题栏和边框的大小,也无需考虑是窗体引发事件,还是窗体内控件引发事件。

    代码

    // 获取窗体的屏幕坐标和鼠标光标的位置(屏幕坐标) 
    private void MainForm_MouseDown(object sender, MouseEventArgs e)

         mousePoint 
    = Control.MousePosition; 
         formPoint 
    = this.Location;
     }
     
      
    // 鼠标光标的屏幕坐标
     Point mousePoint;
     
     
    // 窗体的屏幕坐标
     Point formPoint;

     
    // 响应鼠标移动,并移动窗口
     private void MainForm_MouseMove(object sender, MouseEventArgs e)
     {
         
    if (e.Button == MouseButtons.Left)
         {
            Point mousePos 
    = Control.MousePosition;
            
    this.Location = new Point(mousePos.X - mousePoint.X + formPoint.X, mousePos.Y - mousePoint.Y + formPoint.Y);
         }
     }
     
  • 相关阅读:
    OC
    OC
    核心动画
    核心动画
    核心动画
    数据存储1
    plsql语句基础
    Oracle3连接&子查询&联合查询&分析函数
    oracle2约束添加&表复制&拼接
    Oracle表空间创建及表创建
  • 原文地址:https://www.cnblogs.com/hantianwei/p/1674448.html
Copyright © 2011-2022 走看看