Programmteil sofort nach Programmstart einmal aufrufen



  • Hallo,

    ich habe noch mal eine Frage zu einer Windows Forms Anwendung.
    Ich verwende mehrere NumericUpDown Objekte, und jedesmal wenn ein Wert verändert wird, dann wird ein Programmteil aufgerufen der eine Grafik neu zeichnet, abhängig von den Werten.
    Soweit funktioniert das, nur eine Sache habe ich noch nicht hingekriegt:
    Ich möchte, dass die Grafik-Routine gleich nach dem Programmstart einmal aufgerufen wird, damit ich die Grafik sofort sehen kann. Im Moment ist es so, dass die Grafik erst dann erscheint, wenn ein NumericUpDown Wert verändert wurde.
    Welches Ereignis kann ich da verwenden, um die Routine aufzurufen?
    Oder muss der Aufruf direkt in den Code eingefügt werden? Wenn ja, an welcher Stelle?

    Gruss
    Michael



  • Wie zeichnest Du denn????
    Normal passiert dies mit "OnPaint"...
    Und ein zeichnen forsiert man mit "Invalidate"...



  • Hallo,

    Wie zeichnest Du denn????

    Das zeichnen erfolgt über formGraphics->DrawLine, und die Routine wo das drin ist wird aufgerufen durch mehrere "ValueChanged" Ereignisse von den NumericUpDown's.

    Es müsste doch möglich sein die gleiche Routine auch direkt aufzurufen. Ich weiss nur nicht an welcher Stelle ich diesen Aufruf machen soll.
    Mal angenommen, man möchte in einem Programm einige globale Variable initialisieren. An welcher Stelle würde man das machen?

    Gruss
    Michael



  • Hi

    Du könntest deine Routine über das Ereignis 'Load' deiner Form aufrufen.



  • Hallo,

    > Du könntest deine Routine über das Ereignis 'Load' deiner Form aufrufen.

    Das funktioniert leider nicht. Die Grafik wird nach wie vor erst dann gezeichnet, wenn ein Wert verändert wird. Könnte das daran liegen, dass die NumericUpDown Objekte erst ein paar Millisekunden später erzeugt werden? Somit wären die Default-Werte noch gar nicht bekannt, wenn das Load-Ereignis meiner Form auftritt.

    Gruss
    Michael



  • Ich denke das liegt daran, dass die Form noch garnicht sichtbar ist, während "Load" ausgeführt wird.
    Häng dich zusätzlich auf den Paint Event drauf, oder überschreib die OnPaint Methode, und zeichne da drin auch noch.

    Sonst wird u.U. auch nixmehr zu sehen sein, wenn du das Fenster unsichtbar machst, und dann wieder sichtbar.



  • Hallo,

    > Sonst wird u.U. auch nixmehr zu sehen sein, wenn du das Fenster unsichtbar machst, und dann wieder sichtbar.

    Stimmt, das ist im Moment so.

    > Häng dich zusätzlich auf den Paint Event drauf,

    Danke für den Hinweis. In dieses Thema muss ich mich aber erst mal reinlesen.

    Gruss
    Michael


Anmelden zum Antworten