Kezdőoldal » Számítástechnika » Programozás » C# hogy lehetne megállítani a...

C# hogy lehetne megállítani a backgroundworkert egyszerűen, gombnyomásra?

Figyelt kérdés

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");

}



2021. dec. 6. 21:09
 1/3 anonim ***** válasza:

"itt nekem van 8for ciklus 2 foreach, 5while"


Akkor neked még nem a backgroudworkerrel kellene foglalkoznod.

2021. dec. 14. 21:09
Hasznos számodra ez a válasz?
 2/3 Sitkei Pál válasza:
Pont most kerültem én is ebbe a helyzetbe, hogyan tudnám a hosszadalmas ciklusaimat a BackgroundWorkerrel kezelni. Úgy oldottam meg, hogy minden ciklusomhoz egy-egy önálló BW-t alkalmazok. Az első, amint végez, a BW1.RunWorkerCompleted-ben meghívom a BW2.DoWork-öt. A másodiknál a harmadikat és így tovább. Így a felhasználót is szépen tudom tájékoztatni, hogy a feldolgozás, éppen hol tart.
2021. dec. 18. 13:11
Hasznos számodra ez a válasz?
 3/3 Sitkei Pál válasza:
Bocs, nem a BW2.DoWork-öt kell hívni, hanem a BW2.RunWorkAssign-ot...
2021. dec. 18. 13:32
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!