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ć ?
Wątki?
A może coś więcej ?
Zainteresuj się BackgroundWorkerem. Wygląda na to, że jest to najlepsze rozwiązanie Twojego problemu.
link ?
Pzdr.
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
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 ;]
Application.DoEvents(); wystarczyło, chociaż ten background.... tez jest ciekawym rozwiązaniem, ale trochę bardziej skomplikowanym.
Pozdro