永发信息网

关于C#无边框窗体的移动怎么实现

答案:1  悬赏:40  手机版
解决时间 2021-04-05 18:34
关于C#无边框窗体的移动怎么实现
最佳答案
那就得自己写窗体移动代码了

鼠标左键按下事件:记录当前鼠标位置 A 并设置一个bool变量记录是否按下了鼠标左键isclick
鼠标移动事件:先判断isclick是否为true:获取当前鼠标位置B  A减B的距离就是窗体移动的距离
鼠标左键松开事件:isclick=false
bool isclick;
Point formpoint;
Point mousepoint;
private void panel_top_MouseDown(object sender, MouseEventArgs e)
{
     if (this.WindowState == FormWindowState.Normal)
     {
          if (e.Button == MouseButtons.Left)
          {
              isclick = true;
              formpoint = this.Location;
              mousepoint = Control.MousePosition;
           }
      }
}

private void panel_top_MouseUp(object sender, MouseEventArgs e)
{
      isclick = false;
}

private void panel_top_MouseMove(object sender, MouseEventArgs e)
{
    int newx = 0;
    int newy = 0;
    if (isclick && this.WindowState == FormWindowState.Normal)
    {
       Point temp = Control.MousePosition;
       newx = mousepoint.X - temp.X;
       newy = mousepoint.Y - temp.Y;
       this.Location = new Point(formpoint.X - newx, formpoint.Y - newy);
     }
}写得有点凌乱,将就看吧

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
hurry和Quickiy的区别
静下心来找回自己句子,与初心有关的诗句
江汉温卫东西医外科诊所地址在哪,我要去那里
Java基本数据类型长度是多少位是什么意思?
关于迅铃呼叫器的问题
为什么maya2013注册机在mac里不好使
12兆的宽带网速不卡为什么玩穿越火线延迟100
. If you take the pills three times a day,
为啥狼人杀别人都送了金币就我没有
什么是直埋闭式热力管道
已知某三个数成等差数列,它们的和为15,若将
在义乌做中介置业顾问怎么样。好做吗?一个月
美团抢票没成功款退需要几天
要是找个阿姨,来到家里边之后不满意应该怎么
带有呆字的网名
推荐资讯
结婚祝自己祝福语大全,生日最好的祝福语
加法指令中 OF标志如果两个运算数符号不一样,
729乒乓球拍底板怎么验证真伪
汝州市的中国银行在什么地方
好来宝的名曲名家
流放之路寂静陵墓在哪
网上交违章罚款怎么交,工行网上怎么交违章罚
G9200这个系列能不能刷xda上的920f的内核
解答题基因重组是指在生物体进行____的过程中
正法念处经第八品 师尊说:一切畏等恶 智者说
单选题Inthestudents’eyes,MrsSmithisamo
0.7公顷=________平方米???????4700毫升=____
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?