现在我要执行一段程序,时间比较的长,在执行的过程中,界面一直都是白色的。我希望在这段程序执行的过程中,界面可以保持原样。请问怎么实现?
还顺道问一个简单的问题,通过程序不断向textBox中写入数据,我希望textBox一直显示在最下端。就想qq里面的聊天模式里那样。
谢谢各位高手了!

解决方案 »

  1.   

    新开一个线程。运行你哪些耗时的操作,这样界面就不会出现假死
    string tt = "aaaaaaaaaaaaaaa";
    for(int a=0;a<100;a++)
    textBox1.txt += tt;
      

  2.   

    private void button2_Click(object sender, System.EventArgs e)
    {
    this.textBox1.SelectionStart = this.textBox1.TextLength ;
    this.textBox1.ScrollToCaret();
    Thread.Sleep(1000);
    new Thread(new ThreadStart(append)).Start();
    }public void append()
    {
    for (int i=0;i<1000;i++)
    {
    this.textBox1.Text += i.ToString();
    label1.Text=this.textBox1.SelectionStart.ToString();
    this.textBox1.SelectionStart = this.textBox1.TextLength ;
    this.textBox1.ScrollToCaret();
    Thread.Sleep(200);
    }
    }