private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { backgroundWorker1.ReportProgress(100); if (type.Equals("uav")) { for (int i = 0; i <= 100; i++) { if (backgroundWorker1.CancellationPending) { e.Cancel = true; //这里才真正取消 return; } Thread.Sleep(400); if (i == 35) { Form1 form1 = new Form1(); form1.DoPreLineNow(false); form1.readFlyCoors(@".\line\uav2.txt"); } } } }