Zdravim
Neviem teraz akym smerom sa uberat tak poprosim o radu. Mam nejaky form1 kde ak kliknem na tlacidlo tak sa ten form skryje a otvori sa form2. V tomto forme2 mam tlacidlo ktore vola metodu z triedy. Trieda sa vola test. Takze som si vytvoril objekt vo form2 na triedu test a volam si nasledujucu metodu :
public void create_thread_sd()
{
Thread thread = new Thread(alarm_sd);
list_thread.Add(thread);
thread.Start();
}
Tu sa vlastne vytvori vlakno a vo vlakne sa spusta nasledujuca metoda:
private void alarm_sd()
{
while(!work)
{
if(communication.receivedString.Contains("SD CARD status 0"))
{
tb1.Invoke((MethodInvoker)delegate()
{
tb1.AppendText("OK");
});
t1.Suspend();
work = true;
}
}
work = false;
}
Ako ste si mohli vsimnut tak si ukladam to vlakno do Listu<>. Vsetko funguje az na to ze ak chcem zatvorit form2 a znova otvorit form1 tak mam spustene vlakno alebo viacero vlakien tak ich potrebujem abornut .... skusal som aj pri ukoncovani form2 ked kliknem na nejake tlacidlo dat prechadzat List<> a ku kazdemu vysledku dat abort() ale nefunguje to ... neda sa nejako pri zatvrani form2 killnut vlakna ktore su v nom spustene ?