吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1125|回复: 3
收起左侧

[讨论] C#自写了控件去拖动窗体怎么实现不了,麻烦帮忙看下

[复制链接]
老狗丶 发表于 2020-7-1 07:40


代码如下,不能实现拖动panel而拖动整个窗体移动,麻烦帮忙看下哪儿有问题
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace UI_CreatingADrogControlInWinformApp
{
    class DragControl:Component
    {
        private Control handleControl;
        public Control SelectControl
        {
            get
            {
                return this.handleControl;
            }
            set
            {
                this.handleControl = value;
                this.handleControl.MouseDown += new MouseEventHandler(this.DragForm_MouseDown);
            }
        }

        [DllImport("user32.dll")]
        public static extern int SendMessage(IntPtr a, int msg, int wParam, int lParam);
        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();

        private void DragForm_MouseDown(object sender, MouseEventArgs e)
        {
            bool flag = e.Button == MouseButtons.Left;
            if (flag)
            {
                DragControl.ReleaseCapture();
                DragControl.SendMessage(this.SelectControl.FindForm().Handle, 162, 2, 0);
            }
        }
    }
}
1.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

辉夜年华 发表于 2020-7-1 08:42
把panel绝对布局后试试
老司车开机 发表于 2020-7-1 08:56
DragControl.SendMessage(this.SelectControl.FindForm().Handle, 274,61458, 0);
 楼主| 老狗丶 发表于 2020-7-1 08:59
老司车开机 发表于 2020-7-1 08:56
DragControl.SendMessage(this.SelectControl.FindForm().Handle, 274,61458, 0);

多谢大佬,可以,膜拜
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-15 22:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表