2014-09-05 30 views
6

Używam C# WinForms. Mam okno dialogowe do zapisania, które pojawia się i okno komunikatu, które mówi, że zostało pomyślnie zapisane.Jak to zrobić, jeśli kliknięto przycisk anulowania w oknie zapisywania pliku?

Właśnie zdałem sobie sprawę, że jeśli użytkownik kliknie anuluj, moje okno wiadomości nadal przychodzi.

Jak mogę powiedzieć, kiedy użytkownik kliknie przycisk anulowania w oknie dialogowym składowania, a następnie zrobić coś, gdy jest anulowane?

+2

Dodaj kod do pytania, pokazując sposób wyświetlania okna dialogowego Zapisz i kiedy wyświetla się okno komunikatu. –

Odpowiedz

12

zapisać po zamknięciu ma właściwość DialogResult ustawiony na co się dzieje. W twoim przypadku:

if (mySaveDialog.DialogResult == DialogResult.OK) { /* show saved ok */ } 
+0

Jeśli się nie mylę, możesz również użyć DialogResult.Cancel –

+0

Potwierdź, że to jest najlepszy sposób - także ja –

+0

Nie pozwoliłoby mi na zrobienie mojegoSaveDialog.DialogResult, ale odpowiedź Habiba poniżej działała świetnie! (to samo, naprawdę tylko literówka, myślę) Dziękuję ci bardzo! – jAC

13

Zastosowanie DialogResult

if (form.ShowDialog() == DialogResult.Cancel) 
{ 
    //user cancelled out 
} 

Dla SaveFileDialog: okno dialogowe

SaveFileDialog saveFileDialog = new SaveFileDialog(); 
if (saveFileDialog.ShowDialog() == DialogResult.OK) 
{ 
    MessageBox.Show("your Message"); 
} 
+2

To zadziałało wielkie dzięki! – jAC