C# 如何制作我的简单Windows窗体按钮;单击并拖动“;?

C# 如何制作我的简单Windows窗体按钮;单击并拖动“;?,c#,winforms,C#,Winforms,我有一个我正在构建的简单小部件,一个按钮,当你点击它时,它会做一些事情,当你再次点击它时,它会做一些其他事情 我计划通过this.FormBorderStyle=System.Windows.Forms.FormBorderStyle.None隐藏边框,但当我这样做时,我失去了移动窗口的能力 如何在按住鼠标按钮时移动按钮,以及在单击鼠标按钮时激活按钮?试试这个 public partial class Form1 : Form { public Form1() {

我有一个我正在构建的简单小部件,一个按钮,当你点击它时,它会做一些事情,当你再次点击它时,它会做一些其他事情

我计划通过
this.FormBorderStyle=System.Windows.Forms.FormBorderStyle.None隐藏边框,但当我这样做时,我失去了移动窗口的能力

如何在按住鼠标按钮时移动按钮,以及在单击鼠标按钮时激活按钮?

试试这个

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }


    private Point MouseDownLocation;


    private void btn_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            MouseDownLocation = e.Location;
        }
    }

    private void btn_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            btn.Left = e.X + btn.Left - MouseDownLocation.X;
            btn.Top = e.Y + btn.Top - MouseDownLocation.Y;
        }
    }

}

,哈,简单一点不错。我喜欢!谢谢。如果窗口在
mouseup
之前移动,有没有简单的方法可以阻止按钮被“点击”?或者你必须使用“CTRL+MOUSE\u DOWN”或“SHIFT+MOUSE\u DOWN”,当释放键盘按钮或鼠标按钮时,它将停止拖动。