C# 实现窗口无边框,可拖动效果

具体代码如下所示:

 #region 无边框拖动效果
    [DllImport("user32.dll")]//拖动无窗体的控件
    public static extern bool ReleaseCapture();
    [DllImport("user32.dll")]
    public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
    public const int WM_SYSCOMMAND = 0x0112;
    public const int SC_MOVE = 0xF010;
    public const int HTCAPTION = 0x0002;
    private void Start_MouseDown(object sender, MouseEventArgs e)
    {
      //拖动窗体
      ReleaseCapture();
      SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
    }
    #endregion

在窗口属性界面添加事件服务

总结

以上所述是小编给大家介绍的C# 实现窗口无边框,可拖动效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • C#实现Winform无边框移动的方法
  • C# 改变无边框窗体尺寸大小的方法
  • C# 无边框窗体之窗体移动实现代码
  • C# 无边框窗体边框阴影效果的简单实现
  • C#中无边框窗体移动的简单实例
  • C# WinForm实现窗体上控件自由拖动功能示例
  • C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法
  • c#实现无标题栏窗口的拖动
  • C# Winform 让整个窗口都可以拖动
(0)

相关推荐

  • C# 无边框窗体之窗体移动实现代码

    点击窗体任意位置移动窗体: 需要添加命名空间: using System.Runtime.InteropServices; 复制代码 代码如下: private const int WM_NCLBUTTONDOWN = 0x00A1;private  const int HTCAPTION = 2;[DllImport("user32.dll", CharSet = CharSet.Unicode)]public static extern IntPtr SendMessage(Int

  • C#中无边框窗体移动的简单实例

    首先建一个Windows应用程序将Form1的 FormBorderStyle属性设置为Noe 复制代码 代码如下: Point mouseOff;//鼠标移动位置变量        bool leftFlag;//标记是否为左键        private void Form1_MouseDown(object sender, MouseEventArgs e)        {            if (e.Button == MouseButtons.Left)           

  • C#实现Winform无边框移动的方法

    本文实例讲述了C#实现Winform无边框移动的方法.分享给大家供大家参考.具体如下: const int HTLEFT = 10; const int HTRIGHT = 11; const int HTTOP = 12; const int HTTOPLEFT = 13; const int HTTOPRIGHT = 14; const int HTBOTTOM = 15; const int HTBOTTOMLEFT = 0x10; const int HTBOTTOMRIGHT = 17

  • C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法

    本文实例讲述了C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法.分享给大家供大家参考,具体如下: winform 程序运行过程中,用户用鼠标拖动窗体大小时,如将窗体调整得极小,可能窗体上的控件就面目全非(或看不到了),用下面的代码可以设定窗口的最小尺寸,以防止这种情况 private void Form1_ResizeEnd(object sender, EventArgs e) { //this.Text = "2width:" + this.Width.ToStrin

  • C# WinForm实现窗体上控件自由拖动功能示例

    本文实例讲述了C# WinForm实现窗体上控件自由拖动功能.分享给大家供大家参考,具体如下: 说明:首先在窗体上放一个PictrueBox控件,命名为pb1,拖动完整代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; usin

  • c#实现无标题栏窗口的拖动

    当把窗体的FormBorderStyle属性设为None后会导致边框没了,结果窗体无法用鼠标拖动.最大.最下化和关闭-- 下面解决窗体可拖动问题:1.首先导入命名空间: 复制代码 代码如下: using System.Runtime.InteropServices; 2.然后如下代码: 复制代码 代码如下: [DllImport("user32.dll")]        public static extern IntPtr SendMessage(IntPtr hWnd,int m

  • C# Winform 让整个窗口都可以拖动

    今天在网上查一些资料的时候, 无意中发现另一种办法, 非常方便, 调用系统的 API 来实现的, 效果也很好. 赶紧收藏了~ 复制代码 代码如下: [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int

  • C# 无边框窗体边框阴影效果的简单实现

    通过下面代码在构造函数中调用方法 SetShadow(); 即可实现无边框窗体的阴影效果了 需要添加命名空间 using System.Runtime.InteropServices; 复制代码 代码如下: private const int CS_DropSHADOW = 0x20000;        private const int GCL_STYLE = (-26); [DllImport("user32.dll", CharSet = CharSet.Auto)]     

  • C# 改变无边框窗体尺寸大小的方法

    复制代码 代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)const int HTLEFT = 10;const int HTRIGHT = 11;const int HTTOP = 12;const int HTTOPLEFT = 13;const int HTTOPRIGHT = 14;const int HTBOTTOM = 15;const int HTBOTTOMLEFT = 0x10;cons

  • C# 实现窗口无边框,可拖动效果

    具体代码如下所示: #region 无边框拖动效果 [DllImport("user32.dll")]//拖动无窗体的控件 public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); public const int

  • Python开发之QT解决无边框界面拖动卡屏问题(附带源码)

    1.简介 看到很多才学QT的人都会问为啥无边框拖动为啥会花屏? 那是因为你每次拖动的过程中都一直在调用move()函数让QT重新绘制界面,如果资源过大,就会导致当前图形还未绘制完,便又重新改变坐标了,从而导致花屏. 2.如何解决 我们参考其它软件,比如QQ,浏览器等,可以看到我们如果在拖动它们的时候,会出现一个虚线框. 如下图所示,可以看到在白色背景下,拖出的虚线框是黑色的 而在黑色背景时,拖出的虚线框是白色的 显然这个虚线框会根据当前桌面的像素点而去取反(也就是255-currentRGB).

  • 解决PyQt5 无边框后窗口的移动问题

    由于隐藏了标题栏无法通过点击标题栏来实现窗口的移动,这时候我们可以通过鼠标事件来移动窗口 第一步:判断鼠标左键是否被按下,如果按下则将flag设为True并获取当前的位置 第二步:判断鼠标是否移动并且左键被按下,若移动了计算移动的距离在移动窗口 第三步:若鼠标释放了则将flag设为False 具体做法:重写窗口类自带的三个函数 def mousePressEvent(self, event): if event.button()==Qt.LeftButton: self.m_flag=True

  • PyQt5实现无边框窗口的标题拖动和窗口缩放

    网上找了半天都找不到好用的PyQt5无边框窗口的实现,借鉴部分前辈的窗口拖放代码,自己实现了一下无边框窗口,问题可能还有一点,慢慢改吧 先做个笔记 py文件 #!/usr/bin/env python #-*- coding:utf-8 -*- from PyQt5.QtWidgets import QWidget, QLabel, QPushButton, QVBoxLayout from PyQt5.QtCore import Qt, QPoint from PyQt5.QtGui impo

  • Pyqt实现无边框窗口拖动以及窗口大小改变

    本文实例为大家分享了Pyqt实现无边框窗口拖动及大小改变的具体代码,供大家参考,具体内容如下 做个记录,绘制边框阴影可以忽略这里不是主要 根据网上某位仁兄Qt的实现转过来的大笑,上完整代码 # coding:utf-8 from PyQt4.Qt import * import sys PADDING=4 sys.setrecursionlimit(10000) class ShadowWidget(QWidget): def __init__(self,parent=None): super(

  • Qt透明无边框窗口的实现示例

    最近在封装一些类的时候,打算做一个窗口框架,能实现拖动.无边框.透明基本样式等功能 0x00 如何透明窗口? 第一步:开启窗口的透明层. setWindowFlags(Qt::FramelessWindowHint); /* 注意:如果单纯开启窗口透明层效果,在Windows系统中必须设置, 其他系统可忽略. */ setAttribute(Qt::WA_TranslucentBackground); 第二步: 重写paintEvent事件并使用QPainter画透明层. void paintE

  • Qt无边框窗口拖拽和阴影的实现方法

    无边框窗口的实现 只需要一行代码即可实现 this->setWindowFlags(Qt::FramelessWindowHint); 代码及运行效果: 无边框窗口能拖拽实现 先要去QWidget里面找到 鼠标事件 函数 理一下 坐标的位置 情况: 左上角:屏幕的左上角 中间的窗口:程序的窗口 箭头:鼠标位置 坐标位置满足: x = y - z 在Designer里面拖一个Widget出来叫shadowWidget shadowWidget的颜色为灰色,我们选个自己喜欢的背景色方便查看 接下来我

  • 无边框窗口代码详解

    /*代码思路 此代码会以fullscreen方式打开一个空白窗口,然后用window.resize改变其大小. 最后在以写入onload="location.replace='url'"的办法将网址改变. 打开的窗口会是一个带有FRAME的窗口,其中窗口顶端会有一个高22的框架网页. 此网页是用来操纵窗口移动及关闭. */ /*说明 代码分两个部分,但总共牵涉到5个HTML文件及4个图像文件 第一部分是用来打开窗口,放在哪个文件都无所谓. 第二部分是用来控制窗口的移动及关闭,必须放在指

  • vue electron实现无边框窗口示例详解

    目录 一.前言 二.实现方案 1.创建无边框窗口 2.创建windows窗口控件组件 三.后记 一.前言 无边框窗口是不带外壳(包括窗口边框.工具栏等),只含有网页内容的窗口.对于一个产品来讲,桌面应用带边框的很少,因为丑(我们的UI觉得--与我无关-.-).因此我们就来展开说下,在做无边框窗口时候需要注意的事项以及我踩过的坑. 二.实现方案 1.创建无边框窗口 要创建无边框窗口,只需在 BrowserWindow的 options 中将 frame 设置为 false: const { Bro

  • C# wpf 无边框窗口添加阴影效果的实现

    目录 前言 一.如何实现? 1.去除边框 2.添加阴影 3.添加触发器 二.示例代码 三.效果预览 总结 前言 制作无边框窗口时,系统自带阴影会消失,这时就需要我自己给窗口添加阴影以防止窗口融入背景.添加阴影的方法很简单,直接用effect就可以了,但这里还是有个不容易注意到的细节需要处理,加阴影后窗口最大化可能会有问题. 一.如何实现? 1.去除边框 (1)方法一 使用WindowStyle可以去除窗口边框,AllowsTransparency+Background制造透明窗口为阴影留出透明边

随机推荐