请问,这种轮询功能怎么实现
private void button26_Click(object sender, EventArgs e)
         {
           work();
           while(i ==0) //轮询
            {
             textBox1.Text = i.Tostring();
            }
         }
private void work()
     {
       //很多代码,不知道要执行多长时间
       i = 0;
     }
请问,上面的代码,执行work方法不知时间有多长,如何轮询,使得i = 0的时候,执行textBox1.Text = i.Tostring();
------解决方案-------------------- 
本身work是同步的方法,也就是
while(i ==0) 的时候,work已经执行完了。干嘛要轮询,多此一举。
------解决方案-------------------- 
目前的代码 work 方法执行时是阻塞的,会造成界面失去响应,下面的轮询也没意义,假如你是想等 work 完了修改下 textBox1.Text 值,可以考虑使用子线程执行 work
C# code
private void button26_Click(object sender, EventArgs e)
{
    ThreadPool.QueueUserWorkItem(param =>
    {
        work();
        this.Invoke((MethodInvoker)(() => textBox1.Text = i.Tostring()));
    });
}
------解决方案--------------------  探讨  引用: 目前的代码 work 方法执行时是阻塞的,会造成界面失去响应,下面的轮询也没意义,假如你是想等 work 完了修改下 textBox1.Text 值,可以考虑使用子线程执行 work C# code private void button26_Click(object sender, EventArgs e) { ThreadPool.QueueUserW……