mirmi Geschrieben 19. März 2005 Geschrieben 19. März 2005 Hallo Habe in meinem Prog eine Prozedur, die aufgrund einiger eingebauter Thread.Sleep() länger zum abarbeiten braucht. Nun hab ich mir überlegt, dass ich dem Usr die Wartezeit mit einem Textfeld, das die Farbe ändert verschönere. Die Prozedur für die Blinkanimation hab ich schon geschrieben. Sie ist aber auch Timerbasierend. Ich möchte gerne die Blinkprozedur starten, wenn die lange Prozdur startet und sobald sie abgearbeitet ist, auch die BlinkAnimation stoppen. Hat dazu jemand einen Vorschlag? Danke vorab mirmi Zitieren
Bubble Geschrieben 19. März 2005 Geschrieben 19. März 2005 Du kannst das Blinken in einen zweiten Thread auslagern. Zitieren
mirmi Geschrieben 19. März 2005 Autor Geschrieben 19. März 2005 Hi nochmal Danke für die Antwort. Leider kann ich Deinen Tip aus mangelndem VB KnowHow nicht ordentlich umsetzen. Ich habs jetzt mal so versucht: zuerst hab ich diese Prozedur erstellt: Sub subBlinkTxtProd() Try Dim intCtr As Integer For intCtr = 0 To 10 threadBlink.Sleep(500) If txtProdWhite.Visible = True Then txtProdWhite.Visible = False txtProdGreen.Visible = True Else txtProdWhite.Visible = True txtProdGreen.Visible = False End If Application.DoEvents() Next intCtr txtProdWhite.Visible = False txtProdGreen.Visible = False Catch ex As ThreadAbortException txtProdWhite.Visible = False txtProdGreen.Visible = False Return End Try End Sub Diese wird in meiner "langen" Prozedur aufgerufen und auch wieder gestoppt: Private Sub cmdPortOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPortOpen.Click threadBlink.Start() 'Hier steht der ganze Code fürs abschicken der ComPort Befehle. Hier sind auch die Thread.Sleep() eingebaut. threadBlink.Abort() End Sub Leider wird die Blink Prozedur irgendwie nicht richtig abgearbeitet bzw. gestartet. Was mach ich denn hier falsch? Ich hab schon rausgefunden, dass der Thread mit threadBlink.Abort() nicht gestoppt wird. Denn beim nächsten Versuch heißt es, "Thread noch nicht angehalten", oder so ähnlich. Danke vorab für die Tips... mirmi Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.