Ich arbeite gerade an einem Schulprojekt, die Hauptaufgabe besteht darin, eine einfache Tic-Tac-Toe-Anwendung in WinForms zu erstellen.Schließen Sie ein Fenster, das im Hintergrund ist
Wenn Sie das Spiel gewonnen haben, erscheint eine kleine Animation, die besagt, dass "Player XY" gewonnen hat. Normalerweise würde der Benutzer das Fenster wegklicken, aber ich möchte es schließen, auch nachdem der Spieler es geöffnet hat und auf "Neues Spiel" geklickt hat.
Hier kommt mein Problem: Wenn du nicht auf das Fenster klickst und auf "Neues Spiel" in einem anderen Fenster klickst, wird die Animation, die jetzt geöffnet ist, aber hinter dem Spielfeld nicht geschlossen.
Dies ist ein Teil des Codes für die "New Game" Button:
private void New_Game_Click(object sender, EventArgs e)
{
Winscreen winscreenClose = new Winscreen();
winscreenClose.CloseWinscreen();
}
dies der Code innerhalb Winscreen
ist:
public void CloseWinscreen()
{
this.Hide();
}
So kann die Funktion aufgerufen wird, aber es funktioniert nicht schließe das Fenster. Ich versuchte auch this.Close();
und Environment.Exit(0);
nur, um zu überprüfen, dass die Funktion ordnungsgemäß aufgerufen wird, und es tut.
Sie erstellen eine neue Instanz und schließen sie dann sofort. Um den vorhandenen Bildschirmschoner zu schließen, müssen Sie das von Ihnen erstellte Instanzobjekt verwenden, um es anzuzeigen. – Plutonix