Ok, więc klasa Windows Forms, WindowSettings i formularz ma przycisk "Anuluj". Kiedy użytkownik kliknie przycisk, okno dialogowe DialogSettingsCancel wyskoczy i zapyta użytkownika, czy jest przekonany, że chce wykonać akcję. Okno dialogowe ma 2 przyciski, przycisk "Tak" i przycisk "Nie". Jeśli użytkownik kliknie przycisk "Tak", chcę, aby zarówno DialogSettingsCancel, jak i WindowSettings zostały zamknięte.Jak zamknąć formularz w języku C#
My button_Click obsługi zdarzeń w DialogSettingsCancel:
private void button1_Click(object sender, EventArgs e)
{
//Code to trigger when the "Yes"-button is pressed.
WindowSettings settings = new WindowSettings();
this.Close();
settings.Close();
}
Kiedy uruchamiam moją aplikację i przejść do formularza Ustawienia, a następnie kliknij "Anuluj" -button, a następnie kliknij przycisk "Tak" -button, tylko DialogSettingsCancel zamyka się bez zamykania WindowSettings.
Dlaczego to nie działa?
Próbowałem zostały również zmianę
this.Close();
settings.Close();
do
settings.Close();
this.Close();
ale wciąż ten sam rezultat.
twoje "ustawienia" nigdy nie są pokazywane jako zamknięte, prawdopodobnie szukasz innej instancji –
Dzieje się tak, ponieważ zamykasz 'Okno', które obsługuje zdarzenie click przed zamknięciem innego' okna '. To nie jest klasa Form, jest to ogromna różnica klasy "Okno". Ponadto, ustawienia nie są równe instancji WindowSettings, ale są równe zupełnie innej instancji. Użyj debugera VS. –