• C#去边框以及无边框窗体移动


    1.去边框  :

    1) 选中要去除边框的窗体,按F4调出窗体属性。

    2)在属性框中找到FormBorderStyle选择none。

    2.去掉边框后实现对窗口程序的拖动

    1)双击窗体,进入程序设计界面 添加  using System.Runtime.InteropServices; 

    在 { InitializeComponent();  } 后添加以下代码


    [DllImport("user32.dll")]
    public static extern bool ReleaseCapture();
    [DllImport("user32.dll")]
    public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);


    bool beginMove = false;//初始化鼠标位置
    int currentXPosition;
    int currentYPosition;


    2)回到窗体界面,点击

    如图所示:属性框上部有个小闪电,点击进入 事件页面

    2)分别点击进入MouseDown 、 MouseMove、MouseUp 并分别添加以下代码


    //获取鼠标按下时的位置
    private void loginForm_MouseDown(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    beginMove = true;
    currentXPosition = MousePosition.X;//鼠标的x坐标为当前窗体左上角x坐标
    currentYPosition = MousePosition.Y;//鼠标的y坐标为当前窗体左上角y坐标
    }
    }
    //获取鼠标移动到的位置
    private void loginForm_MouseMove(object sender, MouseEventArgs e)
    {
    if (beginMove)
    {
    this.Left += MousePosition.X - currentXPosition;//根据鼠标x坐标确定窗体的左边坐标x
    this.Top += MousePosition.Y - currentYPosition;//根据鼠标的y坐标窗体的顶部,即Y坐标
    currentXPosition = MousePosition.X;
    currentYPosition = MousePosition.Y;
    }
    }

    //释放鼠标时的位置
    private void loginForm_MouseUp(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    currentXPosition = 0; //设置初始状态
    currentYPosition = 0;
    beginMove = false;
    }
    }

    3.测试你的窗体程序吧
    ---------------------
    作者:研途路
    来源:CSDN
    原文:https://blog.csdn.net/LPVeneno/article/details/53507112
    版权声明:本文为博主原创文章,转载请附上博文链接!



  • 相关阅读:
    apiClould微信三方登录,qq三方登录
    微信小程序 使用环信聊天工具
    某些控件的应用
    记事本(查找与替换)
    记事本部分功能
    Winform——计算器进制转换
    Winform——计算器
    汉企C#面向对象——继承Practice
    汉企C#面向对象——继承
    二分法
  • 原文地址:https://www.cnblogs.com/asdyzh/p/9932326.html
Copyright © 2020-2023  润新知