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
版权声明:本文为博主原创文章,转载请附上博文链接!

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法

CWinForm窗体控件Panel修改边框颜色以及边框宽度方法1.新建组件这里可以自定义一个Panel控件起名为PanelEx !(https://oscimg.oschina.net/oscnet/99045

Qt 单击任务栏图标实现最小化

Qt中对于窗口边框的设置一般用到setWindowFlags函数。voidsetWindowFlags(Qt::WindowFlagstype)如果只setWindowFlags(Qt::FramelessWindowHint);去掉边框,此时会发现,当程序打开后,单击任务栏的按钮,会发现无法最小化,隐藏窗口。解决的方法是:s

C#使用fastreport 实现预览打印

1.新建项目2.添加引用!(https://oscimg.oschina.net/oscnet/9e0a4a2698338e6edad7bb490d6edd725ee.png) 3.主窗体添加预览,打印按钮。子窗体添加previewControl控件4\.  在子窗体加载事件中写代码  代码如下privatevoidCD\

CSS常用样式(二):绘制双箭头

序言:总结一些常用CSS样式,方便以后使用目录一、多次调用单箭头二、旋转边框直接绘制双箭头一、多次调用单箭头上文介绍2种实现单箭头的方式:边框旋转、双三角覆盖。这次以边框旋转为例多次调用实现双箭头1、边框旋转单箭头实现.arrowright{