Klasse nimmt Werte nicht von Form

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Klasse nimmt Werte nicht von Form

    Hallo umzwar sind in meiner Main Form string s wo laufwerksaten stehen .Diese will ich in einer klasse weiterverarbeiten nur in der klasse ist dann der string nix.

    In Main Form deklarier ich den string mit Public mydrive as string
    In der klasse mach ich dann nur Mainform.mydrive


    Nur irgend wie arbeitet das alles nicht wo ist meiner Denkfehler da

    th3Khem schrieb:

    Mainform.mydrive
    Das ist das Gegenteil von Form2.Show() :D
    Du musst Eine Instanz der Klasse Mainform an die andere Klasse übergeben und dort speichern, am besten im Konstruktor.

    VB.NET-Quellcode

    1. Dim myClass = New DieseKlasse(Me)
    2. ' oder
    3. myClass.Init(Me)
    und dort

    VB.NET-Quellcode

    1. Private Patent As DieseKlasse
    2. Public Sub New(DieseKlasse dk)
    3. Patent =dk
    4. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Noch besser pfänd ich, in der Klasse die Variable public (oder als Property) zu deklarieren (Zugriff von der Form aus mit KlasseBlaInstanz.Variable) und mittels Event zur Form zurückzudaddeln.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Lesen und verstehen.
    Vergiss sdas Shared, dafür bist Du noch nicht bereit!

    RodFromGermany schrieb:

    th3Khem schrieb:

    Mainform.mydrive
    Das ist das Gegenteil von Form2.Show() :D
    Du musst Eine Instanz der Klasse Mainform an die andere Klasse übergeben und dort speichern, am besten im Konstruktor.

    VB.NET-Quellcode

    1. Dim myClass = New DieseKlasse(Me)
    2. ' oder
    3. myClass.Init(Me)
    und dort

    VB.NET-Quellcode

    1. Private Patent As DieseKlasse
    2. Public Sub New(DieseKlasse dk)
    3. Patent = dk
    4. End Sub

    VB.NET-Quellcode

    1. Public Sub xxx()
    2. Patent.Button1.enabled = false
    3. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!