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: Listbox in Form1 aus einem Thread einer anderen Class beschrieben 
Autor: Manfred X
Datum: 07.03.16 16:11

Hallo!

Klassen werden gewöhnlich erstellt, damit Instanzen in beliebigen
anderen Klassen verwendet werden können.
Deshalb werden in einer "Klasse X" Eigenschaften und Methoden
von Instanzen anderer Klassen verwendet, die innerhalb dieser "Klasse X"
erstellt worden sind.
Würde in Deiner "Class1" eine Methode aus der übergeordneten
Klasse "Form1" gerufen, könnte man Instanzen von "Class1" nur in
Instanzen von "Form1" nutzen.
(Shared-Methoden einer Klasse beziehen sich nicht auf Instanzen.)

Der Backgroundworker ermöglicht die Ausführung und Verwaltung eines
Hintergrund-Threads, u.a. gibt es dabei die Möglichkeit durch vorgegebene
Ereignisse der BGW-Klasse Informationen z.B. an das übergeordnete Formular
weiter zu reichen.

Du kannst auch selbst einen Thread erstellen.

Beispiel:
Public Class Class_Form1
    Inherits Windows.Forms.Form
 
    Dim WithEvents btn1 As New Button With _
        {.Parent = Me, .Text = "Process starten", .Width = 200}
    Dim txt1 As New TextBox With _
        {.Parent = Me, .Top = 50, .Width = 200}
 
    Dim WithEvents c1 As New Class_Class1
 
    Delegate Sub stringdel(ByVal str As String)
 
 
    Private Sub c1_ProcessInfo (sender As Object, _
        e As ProcessInfoEventargs) Handles c1.ProcessInfo
 
        Me.Invoke(New stringdel(AddressOf SetInfo), {e.Info})
    End Sub
 
 
    Private Sub SetInfo(ByVal str As String)
        txt1.Text = str
    End Sub
 
 
    Private Sub btn1_Click(sender As Object, _
        e As System.EventArgs) Handles btn1.Click
        c1.RunProcess()
    End Sub
End Class
 
 
Public Class ProcessInfoEventargs
    Inherits EventArgs
 
    Dim _info As String = ""
    Public ReadOnly Property Info As String
        Get
            Return _info
        End Get
    End Property
    Public Sub New(Info As String)
        _info = Info
    End Sub
End Class
 
 
Public Class Class_Class1
 
    Public Event ProcessInfo(ByVal sender As Object, _
        e As ProcessInfoEventargs)
 
    Public Sub RunProcess()
 
        Dim th As New Threading.Thread(AddressOf rx_thread)
        th.Start()
    End Sub
 
    Public Sub RX_THread()
        RaiseEvent ProcessInfo _
            (Me, New ProcessInfoEventargs("anzuzeigender Text"))
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Listbox in Form1 aus einem Thread einer anderen Class beschr...1.534derTobi04.03.16 16:26
Re: Listbox in Form1 aus einem Thread einer anderen Class be...839Manfred X04.03.16 16:55
Re: Listbox in Form1 aus einem Thread einer anderen Class be...787derTobi07.03.16 08:49
Re: Listbox in Form1 aus einem Thread einer anderen Class be...943keco04.03.16 16:55
Re: Listbox in Form1 aus einem Thread einer anderen Class be...812Manfred X04.03.16 17:22
Re: Listbox in Form1 aus einem Thread einer anderen Class be...979derTobi07.03.16 08:53
Re: Listbox in Form1 aus einem Thread einer anderen Class be...1.002Manfred X07.03.16 16:11

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