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

时间:2021-07-22 04:36:48 

点击窗体任意位置移动窗体:

需要添加命名空间:

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(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern bool ReleaseCapture();

protected override void OnMouseDown( MouseEventArgs e )
{
    base.OnMouseDown( e );
    if (e.Button == MouseButtons.Left)  // 按下的是鼠标左键             
    {
        ReleaseCapture();   // 释放捕获                
        SendMessage(this.Handle, WM_NCLBUTTONDOWN, (IntPtr)HTCAPTION, IntPtr.Zero);    // 拖动窗体             
    }
}

标签:C#,无边框窗体,窗体移动
0
投稿

猜你喜欢

  • Java 实战项目锤炼之网上商城系统的实现流程

    2022-06-26 17:21:47
  • 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic

    2022-03-26 18:43:02
  • Java 并发编程之ThreadLocal详解及实例

    2023-09-05 13:48:02
  • MVC框架自定义实现过程

    2021-07-24 03:31:47
  • Spring创建bean实例的几种方式分享

    2022-02-21 22:08:19
  • 详解Spring Security中的HttpBasic登录验证模式

    2023-12-03 03:58:14
  • Spring boot jpa 删除数据和事务管理的问题实例详解

    2022-07-02 12:11:43
  • 详解Java弱引用(WeakReference)的理解与使用

    2022-07-13 12:37:32
  • Java中static关键字的作用和用法详细介绍

    2022-07-05 08:33:53
  • 在C#和Java语言中for和foreach的区别详解

    2023-01-29 11:31:13
  • 详解C# Lazy Loading(延迟加载)

    2021-09-02 03:02:58
  • Android 实现可任意拖动的悬浮窗功能(类似悬浮球)

    2023-08-07 10:19:05
  • java——多线程基础

    2021-08-08 04:14:25
  • 浅谈java 执行jar包中的main方法

    2022-06-28 07:58:27
  • Java 数据结构与算法系列精讲之字符串暴力匹配

    2021-10-06 05:43:27
  • Java开发实现人机猜拳游戏

    2023-10-17 16:01:35
  • Android实现Tab切换界面功能详解

    2022-01-17 16:11:57
  • Unity3D绘制地形的实现方法

    2022-12-01 01:06:46
  • Unity3D实现物体排成弧行

    2022-10-15 12:23:06
  • java面试常见模式问题---代理模式

    2022-02-14 13:07:31
  • asp之家 软件编程 m.aspxhome.com