由于数据处理要花大量时间,
放在事件里面执行的话,界面会被卡死。
新建了一个线程去执行。这样界面就不会卡死。
今天处理了一半,发现一个错误,关闭了窗体,发现新建的线程,还在继续执行,数据库表里面的记录还在不停增加。
原来在启动线程时,把线程的IsBackground设为True。就可以了
View Code
1 private void Start_Click(object sender, EventArgs e) 2 { 3 Start.Text = "处理中。。"; 4 Start.Enabled = false; 5 LogTxt.AppendText("开始\r"); 6 Thread th = new Thread(ExportFile); 7 th.Start(); 8 //关闭窗体时退出。 9 th.IsBackground = true; 10 }