C# 跟在鼠标后面的按钮将无限移动

C# 跟在鼠标后面的按钮将无限移动,c#,button,mouse,C#,Button,Mouse,我试图创建一个跟随鼠标的按钮,但我的按钮变为无穷大 private void Form1_Load(object sender, EventArgs e) { Random r = new Random(); Xstart = r.Next(100); Ystart = r.Next(100); } private void timer1_Tick(object sender, EventArgs e) { if (X != Xstart) {

我试图创建一个跟随鼠标的
按钮,但我的按钮变为无穷大

private void Form1_Load(object sender, EventArgs e)
{
    Random r = new Random();
    Xstart = r.Next(100);
    Ystart = r.Next(100);
}

private void timer1_Tick(object sender, EventArgs e)
{
    if (X != Xstart)
    {
        int m = ((Y - Ystart)) / (X - Xstart);
        Xadd = constant * Math.Sign(X - Xstart);
        Yadd = Convert.ToInt16(m * constant * Math.Sign(Y - Ystart));
        Xdegisken = Xstart + Xadd;
        Ydegisken = Ystart + Yadd;
        button1.Location = new Point(Xdegisken, Ydegisken);
        this.Text = "(" + m + " , " + Yadd + " , " + L + "," + alfa + ")";
        Xstart = Xdegisken;
        Ystart = Ydegisken;
    }
}

在调试器中逐步检查代码,并查看您从何处获得无穷大。如果您的代码中有一个无穷大循环,而代码中没有任何循环,则问题可能出在属性的某个集合方法中。即:public Xdegisken{set{Xdegisken=value;}}}将创建一个无限循环。。