vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Invoke funktioniert nicht 
Autor: Manfred X
Datum: 09.01.14 19:18

Ich habe den Code in ein Windows.Forms-Formular kopiert,
und eine Picturebox sowie einen Startbutton hinzugefügt.

Die Timer_Tick-Eventroutine ruft "HLP_SetPicture_Maschinenbild"
und diese Routine ruft per Delegate "SetPictureBox1_Thread".

Public Class frmInvokeTest
 
    Dim picturebox1 As New PictureBox With _
          {.Parent = Me, .Width = 190, .Height = 300}
    Dim WithEvents btnStart As New Button With _
          {.Parent = Me, .Left = 200}
 
    Dim Timer1 As System.Threading.Timer
 
    Private Delegate Sub Delegate_SetPictureBox1_Thread(ByVal ImageIN As  _
      Image)
 
 
    Sub Start_Timer()
 
        Dim autoEvent As New System.Threading.AutoResetEvent(False)
        Dim TmpCallback As System.Threading.TimerCallback = AddressOf _
          Me.HLP_Timer_Tick
 
        Timer1 = New System.Threading.Timer(TmpCallback, autoEvent, 0, 1000)
 
    End Sub
 
 
    Private Sub HLP_Timer_Tick(ByVal stateInfo As Object)
 
        'Hier später Code rein um Bild auszuwählen
        Me.HLP_SetPicture_MASCHINENBILD(Nothing)
    End Sub
 
 
    Sub Stop_Timer()
 
        Dim strTimer As String = Nothing
 
        'Herausfinden ob Timer überhaupt initialisiert wurde
        Try
            strTimer = Me.Timer1.ToString
        Catch
            GoTo fastExit
        End Try
 
        Me.Timer1.Dispose()
 
fastExit:
    End Sub
 
 
    Sub HLP_SetPicture_MASCHINENBILD(ByVal ImageIN As Image)
 
        Try
            Me.Invoke(New Delegate_SetPictureBox1_Thread(AddressOf _
              SetPictureBox1_Thread), New Object() {ImageIN})
        Catch
            Dim _Breakpoint As Integer = 0
        End Try
 
    End Sub
 
 
    Sub SetPictureBox1_Thread(ByVal ImageIN As Image)
        Dim Random1 As System.Random = Nothing
        Dim bBuffer(3 - 1) As Byte
 
        Random1 = New System.Random()
        Random1.NextBytes(bBuffer)
 
        Dim vl As Integer
        Integer.TryParse(Me.Text, vl)
        Me.Text = CStr(vl + 1)
 
        Me.picturebox1.BackColor = System.Drawing.Color.FromArgb(bBuffer(0), _
          bBuffer(1), bBuffer(2))
 
        Me.PictureBox1.Show()
        Me.PictureBox1.Refresh()
    End Sub
 
    Private Sub btnStart_Click(sender As Object, _
        e As System.EventArgs) Handles btnStart.Click
 
        Start_Timer()
 
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Invoke funktioniert nicht1.794sv0001009.01.14 17:57
Re: Invoke funktioniert nicht1.263Manfred X09.01.14 18:22
Re: Invoke funktioniert nicht1.169sv0001009.01.14 18:27
Re: Invoke funktioniert nicht1.188Manfred X09.01.14 18:37
Re: Invoke funktioniert nicht1.164sv0001009.01.14 19:07
Re: Invoke funktioniert nicht1.348Manfred X09.01.14 19:18
Re: Invoke funktioniert nicht1.214sv0001009.01.14 20:08
Re: Invoke funktioniert nicht1.280Manfred X09.01.14 20:16
Re: Invoke funktioniert nicht1.219ModeratorDaveS09.01.14 20:33
Re: Invoke funktioniert nicht1.202Manfred X09.01.14 20:38

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel