none
An welcher Stelle die Klasse Thread instanzieren?

    Frage

  • 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;-)

    Dienstag, 5. Februar 2013 13:42

Antworten

  • 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 13:51

Alle Antworten

  • 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 13:51
  • 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;-)

    Dienstag, 5. Februar 2013 14:26