Anzeigen/Schließen von forms in wpf
Im entwickeln einer Anwendung mithilfe von wpf-Vorlage habe ich diese 2 Fenster:
MainWindow.xaml und
JungleTimer.vb, das ist ein Windows-Formular
Ich habe einen button in meinem Haupt-Fenster, das zeigt JungleTimer-Formular mit diesem code:
Dim JungleTimer As New JungleTimer
JungleTimer.Show()
Aber wie Sie sehen, ein Klick auf diese Schaltfläche mehrmals zeigen mehrere JungleTime form.
Ich habe versucht diesen code verwenden, um zu überprüfen, ob JungleTimer ist sichtbar, aber es funktioniert nicht:
Dim JungleTimer As New JungleTimer
If JungleTimer.Visible = False Then
JungleTimer.Show()
End If
Ich brauche auch den code zum schließen der JungleTimer form.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim erstellen einer neuen JungleTimer jedes mal, wenn Sie klicken Sie auf die Schaltfläche, erhalten Sie immer eine neue Instanz des Fensters. Was Sie tun müssen, ist, deklarieren Sie ein Feld in der Klasse der Typ-JungleTimer. Zunächst dies null (Nichts). Wenn Sie klicken Sie auf die Schaltfläche, überprüfen Sie, ob dieses Feld einen Wert hat oder ist immer noch null. Wenn immer noch null ist, legen Sie es auf eine neue JungleTimer und zeigen Sie es. Wenn es nicht null ist, aktivieren Sie die vorhandenen Fenster, ohne eine neue Instanz zu erstellen. Sie müssen auch erkennen, wenn das Fenster geschlossen wird, so dass Sie können setzen Sie das Feld auf null zurück.
Für eine demo, erstellen Sie ein neues WPF-Anwendung mit zwei Fenstern, Hauptfenster (main window) und JungleTimer.
XAML für MainWindow:
VB für MainWindow (sorry, wenn es ungeschickt, ich habe nicht getan, VB für zehn Jahre oder so):
XAML für JungleWindow: