首页 > 编程语言 >c# winform 点击窗体任意位置可以拖动

c# winform 点击窗体任意位置可以拖动

时间:2023-09-22 09:44:45浏览次数:38  
标签:const Form c# int 拖动 窗体 public winform

c# winform窗体,点击窗体标题头可以拖动,如果鼠标点击在里面的panel的时候就没有这个效果了,以下实现拖动的方法。

转载自醉低调

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        [DllImport("user32.dll")]  //需添加using System.Runtime.InteropServices
        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 Form_Base_MouseDown(object sender, MouseEventArgs e)
        {
            ReleaseCapture();
            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);

        }
        private void Form1_Load(object sender, EventArgs e)
        {
            this.MouseDown += Form_Base_MouseDown;
        }
    }

 

标签:const,Form,c#,int,拖动,窗体,public,winform
From: https://www.cnblogs.com/hack747/p/17721596.html

相关文章

  • ZWCAD 自动加载net DLL程序,并加载菜单
    WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\ZWSOFT\ZWCADM\2018\zh-CN\Applications\AutoCADADDIN]"DESCRIPTION"="""LOADCTRLS"=dword:0000000d"LOADER"="D:\\Users\\ZWCAD\\AutoCADADD......
  • Java 中for循环和foreach循环哪个更快?
    摘要:本文由葡萄城技术团队于博客园发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在Java编程中,循环结构是程序员常用的控制流程,而for循环和foreach循环是其中比较常见的两种形式。关于它们哪一个更快的讨论一直存在。本文......
  • Odoo 通过Javascript调用模型中自定义方法
    实践环境Odoo14.0-20221212(CommunityEdition)代码实现在js脚本函数中调用模型中自定义方法:this._rpc({model:'demo.wizard',//模型名称,即模型类定义中_name的值method:'action_select_records_via_checkbox',//模型中自定义名称args:['arg_value......
  • odoo中用javascript调用model中定义好的方法,及要注意的坑
    odoo中如果前端界面要调用后台model中写好的方法,很简单。使用do_action即可,比如要调用改res.users的默认语言后执行的方法odoo.define('switch_language.SwitchLanguageMenu',function(require){"usestrict";varModel=require('web.Model');varsessi......
  • 《从0到1的CTF成长之路》使用配套docker环境
    官方文档https://book.nu1l.com/tasks/#/pages/web/1.1打开docker镜像新建docker-compose.yml文件,将官网给的配置文件复制进去vimdocker-compose.yml启动docker-composeup-ddocker使用dockerimage#获取当时所有镜像dockerrmi<镜像名>#删除镜像......
  • 一个监控数据的思考-sockets_used
    一个监控数据的思考-sockets_used背景最近跟踪一个项目问题.Grafana的监控了里面有一个tcp的使用监控CurrEstab的数据量是:700-2000左右但是同时有一个非常大的:Sockets_used的数据数据量一般是CurrEstab的十倍以上.大家看起来感觉有点模糊,自己之前看过不少tcp的......
  • multiprocessing:Python像线程一样管理进程
    前言multiprocessing库是基于threadingAPI,它可以把工作划分为多个进程。有些情况下,multiprocessing可以作为临时替换取代threading来利用多个CPU内核,相应地避免Python全局解释器锁所带来的计算瓶颈。下面,我们来看看multiprocessing库创建进程与threading库有多像。创建一个进......
  • centos7安装clamAV扫描病毒
     使用开源的clamAV扫描病毒工具扫描服务器上所有文件是否具有病毒安装步骤使用yum安装1、yum-yinstallclamavclamav-update需要更新ClamAV的病毒数据库2、freshclam 更新完成后就可以使用了3、扫描根目录下所有的文件并输出到/home/data/56.txt文件里可以自......
  • typescript_error_运算符“+”不能应用于类型“Number”和“Number”
    functionadd_(num1:Number,num2:Number){returnnum1+num2}console.log(add_(5,7))Number是一个Interface,number才是表示类型,换成小写就可以了functionadd_(num1:number,num2:number){returnnum1+num2}console.log(add_(5,7))......
  • CWOI DS 专题
    O-你的名字。哎,卡常。考虑根号分治。当\(k\leT\)时我们对每种可能的\(k\)预处理\(a_i\bmodk\),然后分成\(\sqrt{n}\)块,每块块内维护前后缀最小值,对所有块再跑ST表。当询问两端点在同一块内时暴力查询,不在同一块内时分成整块和散块\(\mathcal{O}(1)\)查询,复杂度\(......