zoukankan      html  css  js  c++  java
  • C#中实现拖动无边框Form窗体和窗体的起始位置

    拖动无边框窗体Form至桌面任何位置

    首先建一个Windows应用程序

    将Form1的 FormBorderStyle属性设置为Noe

    主要是在Form1窗体触发三个事件:Form4_MouseDown,Form4_MouseMove,Form4_MouseUp

    代码如下:

         

    public partial class Form1 : Form
        {
            Point mouseOff;                          //鼠标移动位置变量
            bool leftFlag;                               //标签是否为左键

            public Form1()
            {
                InitializeComponent();

            }

    //用代码设置窗体的起始位置

    private void Form_Load(object sender, System.EventArgs e)
    {
         this.Left=(int)((Screen.PrimaryScreen.Bounds.Width-this.Width)/2);
         this.Top=(int)((Screen.PrimaryScreen.Bounds.Height-this.Height)/2);
    }

           private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    mouseOff = new Point(-e.X, -e.Y); //得到变量的值
                    leftFlag = true;                              //点击左键按下时标注为true;
                }
            }

            private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (leftFlag)
                {
                    Point mouseSet = Control.MousePosition;
                    mouseSet.Offset(mouseOff.X, mouseOff.Y); //设置移动后的位置
                    Location = mouseSet;
                }
            }

            private void Form1_MouseUp(object sender, MouseEventArgs e)
            {
                if (leftFlag)
                {
                    leftFlag = false;//释放鼠标后标注为false;
                }
            }

        }

  • 相关阅读:
    构造无限级树并深度遍历查找指定节点
    如何用python自动编写《赤壁赋》文档
    《易经》总结
    IDEA看代码必备插件Call Graph 介绍及使用方法
    chemfig化学式转换为pdf
    从wav到Ogg Opus 以及使用java解码OPUS
    使用jhipster 加速java web开发
    从Spring框架看设计模式如何灵活使用
    提升NginxTLS/SSL HTTPS 性能的7条优化建议
    高效团队的gitlab flow最佳实践
  • 原文地址:https://www.cnblogs.com/zgaspnet/p/2441809.html
Copyright © 2011-2022 走看看