zoukankan      html  css  js  c++  java
  • 当窗口的formBorderStyle设置为None时,如何实现窗体拖动

    private Point mouseOffset;        //记录鼠标指针的坐标
            private bool isMouseDown = false//记录鼠标按键是否按下
     
            private void picCLose_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
     
            private void fmLogin_MouseDown(object sender, MouseEventArgs e)
            {
                int xOffset;
                int yOffset;
     
                if (e.Button == MouseButtons.Left)
                {
                    xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
                    yOffset = -e.Y - SystemInformation.CaptionHeight -
                     SystemInformation.FrameBorderSize.Height;
                    mouseOffset = new Point(xOffset, yOffset);
                    isMouseDown = true;
                }
            }
     
            private void fmLogin_MouseMove(object sender, MouseEventArgs e)
            {
                if (isMouseDown)
                {
                    Point mousePos = Control.MousePosition;
                    mousePos.Offset(mouseOffset.X+5, mouseOffset.Y+30);
                    Location = mousePos;
                }
            }
     
            private void fmLogin_MouseUp(object sender, MouseEventArgs e)
            {
                // 修改鼠标状态isMouseDown的值
                // 确保只有鼠标左键按下并移动时,才移动窗体
                if (e.Button == MouseButtons.Left)
                {
                    isMouseDown = false;
                }
            }
  • 相关阅读:
    .NET 正则表达式使用高级技巧之替换类介绍
    道法术器势
    JS函数匿名替换
    批量更改数据库表架构(生成sql后直接执行!)
    转: 从现实生活中理解什么是广播机制
    public View getView(int position, View convertView, final ViewGroup parent)三个参数的意思
    Android Intent个人介绍
    WPF中Timer与DispatcherTimer类的区别
    C# 使用ManualResetEvent 进行线程同步
    C# 使用AutoResetEvent进行线程同步
  • 原文地址:https://www.cnblogs.com/gengxin/p/5322930.html
Copyright © 2011-2022 走看看