拖动无边框窗体Form至桌面任何位置

首先建一个Windows应用程序

将Form1的 FormBorderStyle属性设置为Noe

 

创建控件panel1放在标题栏位置

 

代码
        Point mouseOff;//鼠标移动位置变量
         bool leftFlag;//标签是否为左键

        
private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            
if (e.Button == MouseButtons.Left)
            {
                mouseOff 
= new Point(-e.X, -e.Y); //得到变量的值
                leftFlag = true;                  //点击左键按下时标注为true;
            }
        }

        
private void panel1_MouseMove(object sender, MouseEventArgs e)
        {
            
if (leftFlag)
            {
                Point mouseSet 
= Control.MousePosition;
                mouseSet.Offset(mouseOff.X, mouseOff.Y);  
//设置移动后的位置
                Location = mouseSet;
            }
        }

        
private void panel1_MouseUp(object sender, MouseEventArgs e)
        {
            
if (leftFlag)
            {
                leftFlag 
= false;//释放鼠标后标注为false;
            }
        }

 

 

就可以实现了

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-03-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-27
  • 2021-08-25
猜你喜欢
  • 2022-12-23
  • 2020-03-22
  • 2022-12-23
  • 2022-12-23
  • 2021-11-25
  • 2021-05-23
相关资源
相似解决方案