进度条小总结
进度更新F2用来控制显示两位小数
1 void UpdateProgress(object sender, ProgressChangedEventArgs e) 2 { 3 int progress = e.ProgressPercentage; 4 5 lbProgressBar.Content = string.Format("{0:F2}%", ((float)progress/(float)maxValue)*100); 6 7 progressBar1.Value = progress; 8 }
将要处理的工作放入另外一个线程
View Code
1 void DoWork(object sender, DoWorkEventArgs e) 2 { 3 BackgroundWorker bw = sender as BackgroundWorker; 4 MainWindow win = e.Argument as MainWindow; 5 6 using (StreamReader sr = new StreamReader(fs, Encoding.Default)) 7 { 8 sr.ReadLine(); 9 while (!sr.EndOfStream) 10 { 11 string line = sr.ReadLine(); 12 byte[] byteArray = System.Text.Encoding.Default.GetBytes(line);//还是不准确 13 value += byteArray.Length; 14 string[] data = line.Split('\t'); 15 startTelNum = data[0]; 16 telType = data[1]; 17 telArea = data[2]; 18 telType = telType.Replace("\"", "");//去掉字符串里的“”双引号 19 telArea = telArea.Replace("\"", ""); 20 SqlHelper.ExecuteNonQuery("insert into T_TelNum(StartTelNum,TelType,TelArea) values(@startTelNum,@telType,@telArea)", 21 new SqlParameter("@startTelNum", startTelNum), new SqlParameter("@telType", telType), new SqlParameter("@telArea", telArea)); 22 bw.ReportProgress(value); 23 } 24 }
可能因为每行最后有很多空格的关系。
我是一个小小虫
用编程改变世界