Timer "pausiert" - Extra Thead nicht?!

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von TheoTechnic.

    Timer "pausiert" - Extra Thead nicht?!

    Hallo zusammen,
    in meinem Spiel Villa Rustica bin ich auf eine recht komische Angelegenheit gestoßen: Bisher hatte ich mehrere Elemente des Spiels in einem Timer untergebracht (wollte ich sowieso ändern). Nun habe ich bemerkt, dass der Timer pausiert, wenn die Maus bewegt wird (natürlich wurde die .Enabled Property des Timers dort nicht geändert). In dem MouseMove Event sind mehrere Schleifen vorhanden, so dass dort der Main-Thread ausgelastet ist. Ich habe das ganze dann auf einen neuen Thread ausgelagert, bei dem ich mithilfe von Threading.Thread.Sleep() den gleichen "Effekt" wie bei einem Timer erzeuge - So klappt das ganze.

    Meine Frage: Warum klappt es in einem neuen Thread, wenn der Timer in VB.Net (meines Wissens) doch auch in einem extra Thread läuft?
    Einen schönen Abend noch,
    TheoTechnic

    TheoTechnic schrieb:

    Warum klappt es in einem neuen Thread, wenn der Timer in VB.Net (meines Wissens) doch auch in einem extra Thread läuft?

    Achtung: Es gibt den Timers.Timer, der wie du sagst in einem eigenen Thread läuft und den Forms.Timer, der im GUI-Thread der Form läuft. Dieser kann ebe nur dann abgearbeitet werden, wenn Zeit ist.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup: