C# hogy lehetne megállítani a backgroundworkert egyszerűen, gombnyomásra?
Mindenhol így látom kiiírva, de mi van akkor ha nekem nem 1 for ciklusom van a doworkben, hanem több is akkor minden egyes forciklusba tegyem bele az ifet?
BackgroundWorker bgw;
private void button1_Click(object sender, EventArgs e)
{
bgw = new BackgroundWorker();
bgw.WorkerSupportsCancellation = true;
bgw.DoWork += bgw_DoWork;
bgw.RunWorkerCompleted += bgw_Complete;
bgw.RunWorkerAsync();
}
private void button2_Click(object sender, EventArgs e)
{
bgw.CancelAsync();
}
void bgw_DoWork(object sender, DoWorkEventArgs e)
{
for(int i = 0; i < 100; i++){
if (bgw.CancellationPending) e.Cancel = true;
txtBox.Text = i.ToString();
}
//itt nekem van 8for ciklus 2 foreach, 5while mindegyikbe bele kelle tennem a két sorral fentebb található ifet? Nincs erre egyszerűbb megoldás?
}
void bgw_Complete(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled) MessageBox.Show("Worker cancelled");
}
"itt nekem van 8for ciklus 2 foreach, 5while"
Akkor neked még nem a backgroudworkerrel kellene foglalkoznod.
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!