zakończenie wątku

0

Witam, mam taki problem.
Chciałbym zakończyć wątek który kieruje pewną pętlą przyciskiem, który nie zaczyna tego wątku (ale namieszałem). przykład:

private void button7_Click(object sender, EventArgs e)
        {
            Thread watek = new Thread(new ThreadStart(this.wylacz));
            watek.IsBackground = true;
            watek.Start();
            
        }

i wykonuję się pętla, a teraz za pomocą przycisku button9 chciałbym ją zakończyć

private void button7_Click(object sender, EventArgs e)
{
if (watek.IsAlive)
                {

                    watek.Abort(); 

                }
}

jeżeli użyję tego występują błędy prosiłbym o pomoc :)

0

Przenieś deklarację wątku poza ciało metody odpowiedzialnej za obsługę zdarzenia przycisku. Wtedy będziesz miał dostęp do obiektu wątku w obu metodach (i w pozostałych też).

0

coś takiego teraz mam: "error CS0236: A field initializer cannot reference the non-static field, method, or property 'WindowsFormsApplication3.Form1.wylacz()'"

Thread watek = new Thread(new ThreadStart(wylacz));
            
        private void button7_Click(object sender, EventArgs e)
        {

            watek.IsBackground = true;
            watek.Start();
            
        }
0

Zrób to tak:

Thread watek;
           
        private void button7_Click(object sender, EventArgs e)
        {

            watek = new Thread(new ThreadStart(wylacz));
            watek.IsBackground = true;
            watek.Start();
           
        }
0

dzięki wszystko działa :)

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