各位好! 我正在做的是一个过滤程序,我已经完成了多线程过滤文件功能块.在每个线程结束的时候,都会在listbox.items里面输出一项表示结束. 但是现在问题是在所有线程未完成前,窗体会成未响应状态.等所有线程完成了,他们就几乎同时输出项,而并不是我需要的,一个线程结束,则输出一行这种 
请问如何解决此问题呢? 
谢谢各位回答!!!

解决方案 »

  1.   

            delegate void AddItemCallBack(object item);        private void button1_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < 10; i++)
                {
                    Thread t = new Thread(new ParameterizedThreadStart(this.addItem));
                    t.Start(i);
                }
            }        private void addItem(object item)
            {
                if (this.textBox1.InvokeRequired)
                {
                    AddItemCallBack del = new AddItemCallBack(addItem);
                    this.Invoke(del, new object[] { item });
                }
                else
                {
                    Thread.Sleep(200);
                    this.listBox1.Items.Add(item);
                    this.listBox1.Refresh();
                }
            }