ChildForm in Hauptform (Modul greift nicht auf Objekte zu)

  • VB.NET
  • .NET 7–8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    ChildForm in Hauptform (Modul greift nicht auf Objekte zu)

    Hallo zusammen
    Ich hab folgendes Problem...
    Ich lade eine Form(ChildForm) in ein Label auf der Hauptform mit folgendem Code:

    VB.NET-Quellcode

    1. Private Sub OpenChildForm(childForm As Form)
    2. If currentChildForm IsNot Nothing Then
    3. currentChildForm.Close()
    4. End If
    5. currentChildForm = childForm
    6. childForm.TopLevel = False
    7. childForm.FormBorderStyle = FormBorderStyle.None
    8. childForm.Dock = DockStyle.Fill
    9. PanelDesktop.Controls.Add(childForm)
    10. PanelDesktop.Tag = childForm
    11. childForm.BringToFront()
    12. childForm.Show()
    13. LblFormTitle.Text = childForm.Text
    14. End Sub


    In dieser Childform habe ich dann Textboxen, diese würde ich gerne auslesen/befüllen mit Strings und zwar über ein extriges Modul/Klasse.

    Wenn ich in der Klasse von der Form direkt frage zb.

    VB.NET-Quellcode

    1. msgbox(Textbox1.text)
    bekomm ich immer den Wert aus der Box.

    Wenn ich aber über das Modul oder der Klasse frage zb.

    VB.NET-Quellcode

    1. msgbox(FormName.Textbox1.text)
    bekomm ich immer einen leeren String zurück, das Objekt erkennt er mir und findet es auch.

    Kann mir jemand sagen wie ich vom Modul/Klasse auf eine Form in einer Form zugreifen kann ?

    Ich hab schon jedes Forum oder auch die KI befragt.

    Danke euch im Voraus :thumbsup:
    @Animal2k Kannst Du mal das bereinigte Projekt posten (Zip ohne bin, obj, vs-Verzeichnisse):
    Erweiteerte Antwort => Dateianhänge => Hochladen
    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!
    Zwischen Instanz.TextBox.Text und Klassenname.TextBox.Text besteht nunmal ein Unterschied, siehe Dialoge richtig instanziieren

    Übergib notfalls dem Modul die Instanz des SubForms, dann weiß auch das Modul, um welches Objekt es geht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.