C#无标题栏窗体拖动

通过设置FormBorderStyle为None隐藏标题栏,然后添加MouseDown、MouseMove和MouseUp事件来实现窗体拖动。在MouseDown记录初始坐标,MouseMove计算移动距离更新位置,MouseUp释放拖动。
摘要由CSDN通过智能技术生成

您可以按照以下步骤在C#中实现无标题栏窗体拖动:

1.创建一个Windows Forms应用程序。

2.在Form上设置FormBorderStyle为None以隐藏标题栏。

3.在Form上添加MouseDown、MouseMove和MouseUp事件。

4.在MouseDown事件中保存鼠标的坐标(相对于窗体的位置)。

5.在MouseMove事件中计算鼠标移动的距离,并将窗体的位置设置为当前鼠标位置减去初始鼠标坐标。

6.在MouseUp事件中释放鼠标并重置初始鼠标坐标。

下面是示例代码:

public partial class Form1 : Form
{
    private bool isDragging = false;
    private Point lastCursor;
    private Point lastForm;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        isDragging = true;
        lastCursor = Cursor.Position;
        lastForm = this.Location;
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
        if (isDragging)
        {
            Point diff = Point.Subtract(Cursor.Position, new Size(lastCursor));
            this.Location = Point.Add(lastForm, new Size(diff));
        }
    }

    private void Form1_MouseUp(object sender, MouseEventArgs e)
    {
        isDragging = false;
    }
}

您可以将这些事件与窗体相关联,通过拖动窗体进行拖动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值