C#界面设计,添加无边框窗体的鼠标拖动可以移动效果

开头添加变量:

Point mouseOff;//鼠标移动位置变量

bool leftFlag;//标签是否为左键

事件部分:

 1  private void Login_MouseMove(object sender, MouseEventArgs e)
 2         {
 3             //鼠标指向检测
 4             if (leftFlag)
 5
 6             {
 7
 8                 Point mouseSet = Control.MousePosition;
 9
10                 mouseSet.Offset(mouseOff.X, mouseOff.Y);  //设置移动后的位置
11
12                 Location = mouseSet;
13
14             }
15             //
16         }
17
18         private void Login_MouseUp(object sender, MouseEventArgs e)
19         {
20
21             if (leftFlag)
22
23             {
24
25                 leftFlag = false;//释放鼠标后标注为false;
26
27             }
28         }
29
30         private void Login_MouseDown(object sender, MouseEventArgs e)
31         {
32             if (e.Button == MouseButtons.Left)
33
34             {
35
36                 mouseOff = new Point(-e.X, -e.Y); //得到变量的值
37
38                 leftFlag = true;                  //点击左键按下时标注为true;
39
40             }
41         }

ps:很常用的几串字符。

  记住! 记住! 记住!

时间: 2024-10-07 08:05:57

C#界面设计,添加无边框窗体的鼠标拖动可以移动效果的相关文章

PYQT设计无边框窗体

#UI.py,通过UI设计师制作后直接转换为UI.py脚本 # -*- coding: utf-8 -*-from PyQt4 import QtCore, QtGui try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    _fromUtf8 = lambda s: s class Ui_Form(object):    def setupUi(self, Form):        Form.setObject

Qt无边框窗体-最大化时支持拖拽还原

目录 一.概述 二.效果展示 三.demo制作 1.设计窗体 2.双击放大 四.拖拽 五.相关文章 原文链接:Markdown模板 一.概述 用Qt进行开发界面时,既想要实现友好的用户交互又想界面漂亮,那么自定义界面就必不可少.其中有一个操作就是是我们每一个Qter开发者都要会的,而且是经常进行的. Qt::FramelessWindowHint这个属性想必大家都使用过,有些同学可能对这个属性很了解,也用的是炉火纯青,今天我们也来说说这个属性. 关于这个无边框属性网上也有一些文章,有些谈论的是b

C# WinForm 拖动无边框窗体 改变无边框窗体尺寸

经常遇到这种情况.窗体的边框去掉了.然后种种问题就出来了:不能拖动.不能改变窗体大小.不能......当然.肯定有解决方案滴*^_^*今天的目标就是:可以直接拖动没有边框的窗体.可以直接拉拽窗体改变其大小.制作步骤如下:新建WinForm程序.添加一个启动的窗体.将其边框设置为None.进入代码编辑界面.定义如下常量值: const int Guying_HTLEFT = 10; const int Guying_HTRIGHT = 11; const int Guying_HTTOP = 12

C# 创建无边框,任意样式窗体,无边框窗体的移动

界面布局如下: 窗体中添加一个PictureBox控件 有边框窗体 无边框窗体 代码实现: public partial class Form2 : Form { public Form2() { InitializeComponent(); } #region 创建无边框,任意样式窗体 private void Form2_Load(object sender, EventArgs e) { this.TransparencyKey = Color.White; //设置默认透明色 this.

无边框窗体

一.无边框窗体 1.创建无边框窗体 将窗体FormBorderStyle属性设为None 2.设置一个关闭按钮功能 (1)添加一个pictureBox,将背景改为关闭图像 (2)设置鼠标移入,移出,点击等事件 /// <summary> /// 鼠标移入 /// </summary> /// <param name="sender"></param> /// <param name="e"></par

Qt 无边框窗体改变大小 完美实现(全部自己实现)

近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo,写了一个小时,问题太多了,扔一边先不管了. 今天需要改进UI界面,没办法了,重新整理了下思路,没想到做出来了.下面来分享下实现的过程,也许是菜鸟专栏,高手勿喷~ 1.首先大家要了解各九宫格的概念 一个窗体可以被划分为上.下.左.右.左上.左下.右上.右下.中间,除了中间部分,其他都需要写程序处理.

winform 可拖动无边框窗体解决办法

方法一:通过重载消息处理实现. 鼠标的拖动只对窗体本身有效,不能在窗体上的控件区域点击拖动 /// <summary> /// 通过重载消息处理实现.重写窗口过程(WndProc),处理一些非客户区消息(WM_NCxxxx), /// C#中重写窗口过程不用再调用SetWindowLong API了,直接overide一个WndProc就可以了,不用声明api函数 /// 鼠标的拖动只对窗体本身有效,不能在窗体上的控件区域点击拖动 /// </summary> /// <pa

Qt 无边框窗体改变大小 完美实现

近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo,写了一个小时,问题太多了,扔一边先不管了. 今天需要改进UI界面,没办法了,重新整理了下思路,没想到做出来了.下面来分享下实现的过程,也许是菜鸟专栏,高手勿喷~ 1.首先大家要了解各九宫格的概念 一个窗体可以被划分为上.下.左.右.左上.左下.右上.右下.中间,除了中间部分,其他都需要写程序处理.

实现无边框窗体的拖动及窗体大小变化

无边框窗体如何实现用鼠标拖动窗体边缘实现窗体大小变动呢?通过以下几个步骤即可实现: 1.实现WM_NCHITTEST消息,实现四条边框的模拟 2.实现WM_NCLBUTTONDOWN,发送窗体拖曳变化的消息 具体阐述如下: 1. 实现WM_NCHITTEST消息,实现四条边框的模拟,参考代码如下: LRESULT CNoBorderWndChangeSizeDlg::OnNcHitTest(CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CRect r