如何修复等待并重复代码?我不能单击重复操作的按钮

时间:2019-10-26 05:37:21

标签: c#

我正在使用代码每0.5秒重复传送一次按钮到随机位置,但是当我尝试单击它时,它不起作用。

我尝试使用代码刷新解决了视觉错误的按钮,但是仍然无法单击。我一直在使用Thread.Sleep(500);

    int repeat = 100000;
    for (int i = 0; i < repeat; i++)
    {
        int x = 50;

        int y = 50;
        x += 10; 

        y += 10;

        button1.Location = new Point(x, y);

        Random rand = new Random();
        x = rand.Next(ClientSize.Width);  

        y = rand.Next(ClientSize.Height);

        button1.Location = new Point(x, y);
        Thread.Sleep(500);
        button1.Refresh();
    }

1 个答案:

答案 0 :(得分:0)

您的问题出在Thread.Sleep ..它阻塞了您的UI线程。

考虑改用System.Windows.Forms.Timer ...

在这里查看L.B答案:

https://stackoverflow.com/a/12039732/10573560