当前位置:编程学习 > C#/ASP.NET >>

c#给lable循环赋值,在界面能显示winfrom

private void button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 6; i++)
            {
                this.label3.Text = i.ToString();

                System.Threading.Thread.Sleep(1000); 

            }
        }

我想让 label 的值不停变换 --------------------编程问答-------------------- 放一个Timer 控件,1S跑一次就行了 --------------------编程问答-------------------- Timer 就行了。 --------------------编程问答--------------------
        private void button2_Click(object sender, EventArgs e)
        {
            new Thread(() =>
            {
                int i = 0;
                while (true)
                {
                    this.Invoke((Action<int>)delegate(int j)
                    {
                        label1.Text = j.ToString();
                    }, i);
                }
            }).Start();
        }
--------------------编程问答-------------------- 楼上的那样就可以。
解释:将过程放入新开启的子线程中new Thread(() =>,由于子线程不能操作主线程的label1,所以要通过委托通知主线程更改label1的值。this.Invoke((Action<int>)delegate(int j)
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,