[C#] Jak zatrzymać pętlę nieskończoną kliknięciem buttona?

0

Witam.
Piszę programik który wykonuje pewną czynność nieskończenie wiele razy, ale ma być to przerwane, jak nacisnę button STOP. Kod reagujący na kliknięcie STOP i zatrzymujący, mam zrealizowany, ale jak odpalam program i wchodzi on w pętlę nieskończoną, to interfejs mi nie odpowiada ;/
Jak na to zaradzić ?

0

Wątki?

0

A może coś więcej ?

0

Zainteresuj się BackgroundWorkerem. Wygląda na to, że jest to najlepsze rozwiązanie Twojego problemu.

0

link ?

Pzdr.

0

Zrób sobie tak:

bool Przerwij = false;

Podczas naciśnięcia przycisku ustaw Przerwij na true.

A w kodzie pętli sprawdzaj w każdej iteracji czy przerwij = true i jeżeli tak to zakończ pętlę.

Oprócz tego dodaj przed tym sprawdzaniem Application.DoEvents(). W ten sposób program nie zwiesi się podczas działania pętli nieskończonej i będziesz mógł nacisnąć przycisk, który spowoduje przerwanie pętli nieskończonej.

Wątku tutaj nie są potrzebne. No chyba że metoda z Application.DoEvents() nie spełnia Twoich potrzeb.
No ale w każdym razie jak zrobić z wątkami możesz zobaczyć tutaj:

http://pl.youtube.com/watch?v=jEwXGW8m8uk
http://pl.youtube.com/watch?v=_VYY0KCbOBo

0
fdsdf napisał(a)

link ?

Pzdr.

Dobijają mnie tacy forumowicze. Co mi z tego linka, wiem ze prawdopodobnie trzeba z wątkami się bawić, ja potrzebuje porady jak.. O wątkach sam sobie mogę poczytać, znam się na obsłudze googli.
Weź przykład z grzesiawisniewskiego lub tomaszaSmykowskiego, którzy, znając się na rzeczy, stanęli na wysokości zadania i podsunęli znakomite pomysły, jak rozwiązać mój problem. Dzięki Panowie ;]

0

Application.DoEvents(); wystarczyło, chociaż ten background.... tez jest ciekawym rozwiązaniem, ale trochę bardziej skomplikowanym.

Pozdro

1 użytkowników online, w tym zalogowanych: 0, gości: 1