• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#移动无标题窗体

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
在窗体的类中声明两个变量
private Point mouseOffset; //记录鼠标指针的坐标
private bool isMouseDown = false//记录鼠标按键是否按下
创建该窗体 MouseDown事件的相应处理程序,注示部分为坐标的补偿
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
    
int xOffset;
    
int yOffset;

    
if (e.Button == MouseButtons.Left) 
    {
        xOffset 
= -e.X /*- SystemInformation.FrameBorderSize.Width*/;
        yOffset 
= -e.Y /*- SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height*/;
        mouseOffset 
= new Point(xOffset, yOffset);
        isMouseDown 
= true;
    }
}
创建该窗体的 MouseMove事件的相应处理程序
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
    
if (isMouseDown) 
    {
        Point mousePos 
= Control.MousePosition;
        mousePos.Offset(mouseOffset.X, mouseOffset.Y);
        Location 
= mousePos;
    }
}
创建该窗体的MouseUp事件的相应处理程序
private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
    
// 修改鼠标状态isMouseDown的值
    
// 确保只有鼠标左键按下并移动时,才移动窗体
    if (e.Button == MouseButtons.Left) 
    {
        isMouseDown 
= false;
    }
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Kafka基础教程(三):C#使用Kafka消息队列发布时间:2022-07-10
下一篇:
C#对json对象嵌套数组发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap