问题一:如何让某个地方显示的值不断变化,比如我用for循环输出从一到10000的值 想让这些不断变化的数值都能显示在form的一个标签上问题二:如何让客户看到他处理的数据一行一行显示出来,比如从一处理到10000,我想让客户看到已经处理过的数据列表,并且新处理的数据也会不断地跟跟着显示出来!

解决方案 »

  1.   

    一、每次给form标签赋值。
    二、用显示控件给控件赋值。
      

  2.   

    You might use BackgroundWorker, which provides a good pattern for your problem.
      

  3.   

    在循环里给标签什么的赋值,然后Application.DoEvents 一下,虽然效率可能会低点,不过凑合能用,而且方便。
      

  4.   

    目标达到         private void button1_Click(object sender, EventArgs e) 
            { 
                backgroundWorker1.RunWorkerAsync(); 
            }         private void GetResult() 
            { 
                for (int i = 0; i < 100; i++) 
                { 
                    for (int j = 0; j < 100000000; j++) 
                    { 
                        j++; 
                        j--; 
                    } 
                    backgroundWorker1.ReportProgress(i); 
                } 
            }         private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
            { 
                GetResult(); 
            }         private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) 
            { 
                Tb_Progress.Text = e.ProgressPercentage.ToString(); 
            }
      

  5.   

    第一个问题:
      要显示所有内容,在循环中加入: Label1.Text=Label1.Text + i.ToString() + chr(10) + chr(13);
       要依次显示内容,比如1秒一条:Label1.Text=Label1.Text + i.ToString();
                                Threading.Sleep(1);第二个问题:采用上述显示所有内容的方法即可