erlingwe Skrevet 25. juni 2007 Skrevet 25. juni 2007 Hei, Kjører en Form i en tråd med Thread thread = new Thread(new ThreadStart ++) Har en start metode i Formen som jeg kaller this.ShowDialog() Problemet er at det tydeligvis er umulig å interrupte en form/tråd som venter på dialogresult. Jeg har prøvd å kjøre en while loop som kaller Show() men det blir ikke pent - formen blir jo utilgjengelig på den måten også.. Jeg trenger en form som kjører i en egen tråd og som jeg kan avbryte enten fra systemet eller ved at bruker trykke på X.. Jeg er veldig ny i C# så håper noen har en enkel løsning
cookiefi Skrevet 25. juni 2007 Skrevet 25. juni 2007 Hei, la oss si det slik: 1. du har dene threden! Thread firstThread = new Thread(new ThreadStart(while_threading_running)); firstThread.Start(); 2. Du vill at noe skal skje inne i denne som krever at det ikke er i threden, Dette fikser du lett slik. La oss si at du har en listview som du vil ha noen punkter i. Og at du må av bryte threden. Legg da dette i en egen void slik. public void update_ls() { if (this.InvokeRequired) { this.Invoke(new MethodInvoker(update_ls)); return; } lsOutput.Items.Add("SUCKER!"); } } Og kjør voiden hvor du måtte ønske i Threaden.
GeirGrusom Skrevet 26. juni 2007 Skrevet 26. juni 2007 this.ShowDialog() ville fått et program til å stanse ville jeg tro.... siden threaden da venter til at den selv gir tilbake et resultat, noe som da aldri vil skje, da den venter på seg selv.... Men det er bare teorien min da.
Bjørn Willy Stokkenes Skrevet 11. juli 2007 Skrevet 11. juli 2007 Hei. Du tenker antakelig litt feil strukturelt sett. Når du bruker Threads i Windows Forms (C#), bør du ikke gjøre noe som har med brukeraktivitet å gjøre i en Tråd. All brukeraktivitet bør gjøres i "hovedtråden". Hvis du har flere ting som skal gjøres samtidig, bør du fokusere på å gjøre dette i egne tråder, og heller la "hovedtråden" med sine Former styre dette. Husk, det er fullt mulig å ha 2 eller flere aktive former samtidig fra en tråd. Bjørn Willy Stokkenes
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå