Form1 Variable füllen, nach schließen von Form2

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von tuvok.

    Form1 Variable füllen, nach schließen von Form2

    Hallo Ihr,
    ich habe ne kleine Frage.. ich habe im Form2 My.settings einstellungen gemacht, die auch gespeichert werden wenn ich das Form schließe,
    möchte ich, dass die daten beim schließen im Form1(hauptform) in eine Variable geladen bzw. geschrieben werden.

    VB.NET-Quellcode

    1. Dim OrtProgrammFiles As String = My.Settings.Programpfad
    2. my.settings.Programpfad.reload()


    bringt da ja nicht so wirklich viel.. irgendwo hab ich da einen Gedankenfehler...

    Bitte um Hilfe

    tuvok schrieb:

    Gedankenfehler...
    Wenn Du My.Settings.xxx etwas zuweist, ist es egal, ob es in Form17 oder MyClassXyz passiert.
    Was da drin steht, ist immer und überall in Deiner Applikation abrufbar.
    Beim Schließen der letzten aktiven Form sollten sie (automatisch) gespeichert werden.
    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!
    ja .. das is es ja .. es is ja alles gespeichert.. nur dann steht das Form1 da .. und hat keine Daten.. weils nicht geladen ist.. sprich ich muss irgendwie .. wenn ich das Form2 schließe Form1 dazu bringen mal zu refreshen .. oder daten in die Variable XY schieben... nur da weiß ich nicht wie ich das anstellen soll

    tuvok schrieb:

    wenn ich das Form2 schließe Form1 dazu bringen mal zu refreshen
    Dann hast Du aber Dein Problem völlig daneben beschrieben.
    Sende im Form_Closing-Event ein Event an die Form1.
    Gugst Du hier.
    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!
    SORRY...
    ich bin kein Meister im Erklären.. ich bin immer froh wenn mich überhaupt jemand versteht ..
    und Danke an Euch ich schau mir das mal an

    PS: jetzt muss ich erstmal bei deinem Link durchsteigen :)


    Also ich habe jetzt .. in dem Form2 dem "schließen" button bei DialogResult ein OK gegeben
    und der Form2 bei AcceptButton den Button_schliessen

    in der Form1 habe ich

    VB.NET-Quellcode

    1. Private Sub test()
    2. If ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then
    3. OrtProgrammFiles = My.Settings.Programpfad
    4. Return
    5. End If
    6. End Sub


    gemacht.. und er füllt die OrtProgrammFiles nicht.. ich denke das liegt daran das er die sub nicht aufruft.. *nachdenk*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „tuvok“ ()

    ok hab mein Problem gelöst..

    meine Variable auf "Public" gesetzt im Hauptform und fertig :>

    VB.NET-Quellcode

    1. Private Sub Button_schliessen_Click(sender As System.Object, e As System.EventArgs) Handles Button_schliessen.Click
    2. Me.Close()
    3. HauptForm.OrtProgrammFiles = My.Settings.Programpfad
    4. HauptForm.mySettingstext.Text = My.Settings.Programpfad
    5. End Sub
    ich hab mir alles angeschaut.. aber ich habe weder nen "close" event noch nen "OK" event oder so.. und ich habe da nicht durchgeblickt .. also hab ich es so gemacht..
    und wenn es nicht richtig wäre würde mir vb ne Fehlermeldung bringen is ja auch mit "Option Strict On" gemacht..
    Hi Turtok,

    1. Deine Form hat mehrere Events siehe hier: msdn.microsoft.com/de-de/libra…ws.forms.form_events.aspx darunter auch wie von Rod beschrieben das Form_Closing- o.a das Form_Closed-Event, wann genau diese Events ausgeführt werden kannst du dir unter Beschreibung ansehen.

    2. Nur weil du mit Option Strict On programmierst, heißt das noch lange nicht das dein Code sauber bzw. gut geschrieben ist. Exceptions kriegt man btw auch ohne Strict On. Strict On gewährleistet nur das minimalste an Standard mit dem man programmieren sollte.

    3. Ich würd mir an deiner Stelle überlegen, ob ich lieber etwas gut mache oder schnell und sich dann sowieso keiner für interessiert.

    :)
    also ... ich werde immer noch "tuvok" geschrieben nur so zur info ..
    ich hasse es wenn die Leute immer so schlaubergerisch sind .. und nur blöden krams dahin schreiben Herr "itend" weil Punkt 3. ist ein bissl daneben würde ich sagen .. zumal Du dich dafür nicht zu interessieren brauchst.. es tut seinen Dienst..
    und wenn ich wie ich oben geschrieben habe, dass noch nicht ganz verstanden habe .. weil es noch nicht in meinen Bereich fällt dann kann ich es denke ich auch anders bewerkstelligen und zum laufen bringen meiner Meinung nach..

    ErfinderDesRades - Moderator - Notiz: Offensichtlich besteht kein weiteres Interesse an inhaltlicher Weiter-Entwicklung
    --> closed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()