An welcher Stelle die Klasse Thread instanzieren?

Beantwortet An welcher Stelle die Klasse Thread instanzieren?

  • Dienstag, 5. Februar 2013 13:42
     
     

    Hallo,

    ich möchte eine Windows-Forms-Anwendung erstellen in der bestimmte Methoden mit Hilfe der Klasse Thread im Hintergrund arbeiten. Im FormClosing-Ereignis der Hauptform möchte ich die IsAlive-Eigenschaft meiner Thread-Instanz auswerten.

    Jetzt die "dumme" Frage: Wo bzw. wie sollte ich am besten mein Thread-Objekt instanzieren, damit die Ereignisbehandlungsmethode FormClosing mein Thread-Objekt überhaupt kennt.

    LG;-)

Alle Antworten

  • Dienstag, 5. Februar 2013 13:51
     
     Beantwortet Enthält Code

    Hallo,

    wenn du die ThreadVariable in der Form deklariert hast dann solltest du auch in Formclosing darauf zugreifen können, unabhängig davon wo du sie instanziiert hast, etwa so

    class Form1 ....
       private Thread _myThread;
       private void button1_Click(...)
       {
          ....
          _myThread.Start();
       }
       private void Form1_Closing(...)
       {
          ....
          if(_myThread.IsAlive) ...
       }

    Grüße

    Tu

  • Dienstag, 5. Februar 2013 14:26
     
     

    Hey,

    vielen Dank. So hätte ich das auch lösen wollen, aber ich dachte, es wäre "unsauber" einfach einen privaten Klassenmember zu deklarieren, der dann in allen Methoden der Klasse verfügbar ist. Das fühlt sich doch wie eine "public"-Variable an und ich dachte, dass man auf öffentliche Variablen verzichten sollte.

    LG;-)