zoukankan      html  css  js  c++  java
  • 拖动无标题栏的窗体,需要处理的三个事件

    代码
     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Windows.Forms;
     9 
    10 namespace Invoicing_Tube
    11 {
    12     public partial class login : Form
    13     {
    14         public login()
    15         {
    16             InitializeComponent();
    17         }
    18         //定义一下坐标
    19         private Point mouseOffset;
    20         //判断一下是否按下了左键默认的为False
    21         private bool isMouseDown = false;
    22         private void login_MouseDown(object sender, MouseEventArgs e)
    23         {
    24             try
    25             {
    26                 //X轴
    27                 int xOffset;
    28                 //Y轴
    29                 int yOffset;
    30                 //当按下左键时
    31                 if (e.Button == MouseButtons.Left)
    32                 {
    33                      //X轴为当前的位置加上窗体的长度
    34                     xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
    35                     //Y轴为当前的位置加上窗体的高度
    36                     yOffset = -e.Y - SystemInformation.CaptionHeight -
    37                         SystemInformation.FrameBorderSize.Height;
    38                     //综合一下坐标
    39                     mouseOffset = new Point(xOffset, yOffset);
    40                     //表示按下了左键
    41                     isMouseDown = true;
    42                 }
    43             }
    44             catch (Exception ee)
    45             {
    46                 MessageBox.Show(ee.Message.ToString(), "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    47             }
    48         }
    49 
    50         private void login_MouseMove(object sender, MouseEventArgs e)
    51         {
    52             try
    53             {
    54                 //如果按下了左键
    55                 if (isMouseDown)
    56                 {
    57                     //前当的坐标==鼠标的位置
    58                     Point mousePos = Control.MousePosition;
    59                     mousePos.Offset(mouseOffset.X, mouseOffset.Y);
    60                     Location = mousePos;
    61                 }
    62             }
    63             catch (Exception ee)
    64             {
    65                 MessageBox.Show(ee.Message.ToString(), "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    66             }
    67         }
    68 
    69         private void login_MouseUp(object sender, MouseEventArgs e)
    70         {
    71             try
    72             {
    73                 if (e.Button == MouseButtons.Left)
    74                 {
    75                     isMouseDown = false;
    76                 }
    77             }
    78             catch (Exception ee)
    79             {
    80                 MessageBox.Show(ee.Message.ToString(), "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    81             }
    82         }
    83     }
    84 }
    85 
    86 
    文章转自:http://home.cnblogs.com/sufei/
  • 相关阅读:
    贪心经典例题大赏
    【暑假培训1】7.13
    【7.10校内test】T1高级打字机
    【7.10校内test】T3经营与开发
    【7.10校内test】T2不等数列
    【7.9校内test】T2 极值问题
    【7.9校内test】T1挖地雷
    <知识整理>2019清北学堂提高储备D5
    <知识整理>2019清北学堂提高储备D4
    <知识整理>2019清北学堂提高储备D2
  • 原文地址:https://www.cnblogs.com/angleSJW/p/1806315.html
Copyright © 2011-2022 走看看