vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
von einer Form zur anderen kein Private Sub _Load auslösung? 
Autor: bluedead007
Datum: 21.01.18 18:06

Hallo und guten Abend,

Ich habe eine Hauptform, diese heisst Hauptform. In diesen habe ich ein Button, klickt man dort drauf wird eine neue Form geöffnet und die Hauptform geschlossen, das mache ich so:

Private Sub btkhinzufuegen_Click(sender As Object, e As EventArgs) Handles _
  btkhinzufuegen.Click
        KundenHinzufuegen.Show()
        Me.Hide()
End Sub
so, nun ist die zweite Form auf und die erste scheint geschlossen zu sein. Wenn ich aber jetzt in der neuen Form wieder den gleichen versuche um zur alten Form zu kommen, also:

Private Sub btkhinzufuegen_Click(sender As Object, e As EventArgs) Handles _
  btkhinzufuegen.Click
        Hauptform.Show()
        Me.Hide()
End Sub
dann wird zwar diese angezeigt, aber der Code der sich im Bereich Private Sub Hauptform_Load befindet wird nicht mehr abgearbeitet, warum ist das so?

hatte es auch schon wie bei den guten alten VB6 mit
Hautpform.show
unload me
probiert, aber das klappte leider garnicht ;(

habt ihr ein Tipp?

Beitrag wurde zuletzt am 21.01.18 um 18:08:40 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: von einer Form zur anderen kein Private Sub _Load auslösung? 
Autor: effeff
Datum: 21.01.18 21:10

Du schließt Deine Hauptform nicht, sondern Du versteckst sie nur (Hide). Also wird auch kein Load-Ereignis ausgeführt, weil die Form nicht geladen wird, sondern im Hintergrund immer noch vorhanden ist.

Warum willst Du das Load-Ereignis nochmals ausführen?

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: von einer Form zur anderen kein Private Sub _Load auslösung? 
Autor: Manfred X
Datum: 21.01.18 21:40

Mach es richtig ......
Untergeordnete Formulare melden sich per Event.
Public Class frmHauptForm
 
    Dim WithEvents frmKH As New frmKundenHinzufügen
 
    Dim WithEvents btn As New Button With _
       {.Parent = Me, .Text = "Kunden hinzufügen", .width =200}
 
 
    Private Sub DoSomething()
        '......
        MsgBox("Something should be done")
    End Sub
 
 
    Private Sub frmHauptForm_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
        DoSomething()
    End Sub
 
 
    Private Sub btn_Click(sender As Object, _
        e As System.EventArgs) Handles btn.Click
 
        frmKH.Show()
        Me.Hide()
    End Sub
 
 
    Private Sub frmKH_ShowHauptform(sender As Object, _
                     e As System.EventArgs) Handles frmKH.ShowHauptform
 
        DoSomething()
        Me.Show()
    End Sub
End Class
 
 
Public Class frmKundenHinzufügen
 
    Dim WithEvents btn As New Button With _
        {.Parent = Me, .Text = "Zurück zur Hauptform", .Width = 200}
 
    Public Event ShowHauptform(sender As Object, e As EventArgs)
 
 
    Private Sub btn_Click(sender As Object, _
                    e As System.EventArgs) Handles btn.Click
 
        Me.Hide()
        RaiseEvent ShowHauptform(Me, EventArgs.Empty)
 
    End Sub
End Class


Beitrag wurde zuletzt am 21.01.18 um 21:46:47 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: von einer Form zur anderen kein Private Sub _Load auslösung? 
Autor: Franki
Datum: 22.01.18 03:51

Hallo,

auch unter VB6 gab/gibt es den Unterschied zwischen Load/Unload und Show/Hide. Das hat sich nicht geändert. Ob eine Form sichtbar/unsichtbar ist hat nichts damit zu tun ob sie geladen/entladen wird.

Wenn du das unabhängig gestalten möchtest, dann definiere eine Sub, Function, Modul oder was auch immer was du zu jedem beliebigen Ereignis aufrufen kannst. Dann ist es egal woher und der Code wird/wurde immer ausgeführt.

Nur wiel man ein Fester/Form nicht sehen kann bedeutet das nicht, dass es entladen wurde.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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-2024 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