对于标签中的循环错误

本文关键字:循环 错误 标签 于标签 | 更新日期: 2023-09-27 17:57:17

嗯,这很简单,创建一个窗口窗体,在其中放置一个按钮和一个标签,然后给按钮一个点击事件。

    private void button1_Click(object sender, EventArgs e)
    {
        int xa;
        int ya;
        for (xa = 647; xa < 982; xa++)
            for (ya = 262; ya < 598; ya++)
            {
                label1.Text = xa.ToString() + " " + ya.ToString();
            }
    }

当我单击按钮时,程序只是卡住了大约 20 秒。我该如何解决这个问题?

对于标签中的循环错误

你必须

把它从UI线程中取出。 试试这个:

private void button1_Click(object sender, EventArgs e)
{
    ThreadPool.QueueUserWorkItem(p => doit());            
}
private void doit()
{
    int xa;
    int ya;
    for (xa = 647; xa < 982; xa++)
        for (ya = 262; ya < 598; ya++)
        {
            this.Invoke(new Action(() => { label1.Text = xa.ToString() + " " + ya.ToString(); }));
        }
}