none
Eigenschaften eines Labels durch einen Thread ändern RRS feed

  • Frage

  • Guten Abend,

    ich versuche grad den Text eines Labels Threadgesteuert zu ändern. Dummerweise funktioniert das nicht. Hier erstmal der Code:
       Private Sub ThreadsStarten()
          Dim T_Uhrzeit As New Threading.Thread(AddressOf Uhrzeit)
    
          boolThreadRunning = True
    
          Try
             T_Uhrzeit.IsBackground = True
             T_Uhrzeit.Start()
          Catch ex As Exception
             MsgBox("Fehler in Thread Uhrzeit")
          End Try
          
       End Sub
    
       Public Sub UhrzeitÄndern(ByVal strValue As String)
    
          lblUhrzeit.Text = strValue
          Application.DoEvents()
    
       End Sub
    
       Public Sub Uhrzeit()
          Dim inthour As Integer
          Dim intminute As Integer
    
          Do While boolThreadRunning
             inthour = TimeOfDay.Hour
             intminute = TimeOfDay.Minute
    
             Debug.Print(inthour & ":" & intminute)
             Threading.Thread.Sleep(1000)
          Loop
    
       End Sub
    Die Prozedur ThreadsStarten() wird aufgerufen, nachdem alles andere in FormLoad aufgerufen wurde.
    Debug.Print habe ich nur als Testzweck eingebunden und die aktuelle Uhrzeit wird auch ausgegeben.

    Daher verstehe ich nicht, warum die Texteigenschaft nicht geändert wird.
    Das DoEvents bringt den erhofften Erfolg auch nicht (habe auch gelesen, dass es nicht unbedingt benutzt werden soll).

    Hat vielleicht jemand eine Idee oder einen Verbesserungsvorschlag? Das wäre sehr schön.

    MfG
    Sebastian
    Dienstag, 12. Januar 2010 21:24

Antworten

Alle Antworten