Cześć, piszę notatnik w C# i mam problem. Chcę obsłużyć zdarzenie dla Menu>Nowy. Tak jak w windowskowskim notatniku daje plik>nowy i mam nowy dokument.
U mnie to ma działać tak, że po kliknięciu na 'nowy' program wyczyści ekran, ale wcześniej sprawdzi czy coś nie znajduje się w tekstboxie i zapyta czy to zapisać. Stworzyłem metodę do zapisu do pliku:
private void zapisywanie()
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
File.WriteAllText(saveFileDialog1.FileName, Tekst.Text);
}
}
A poniżej obsługa Menu> Nowy:
private void nowyToolStripMenuItem_Click(object sender, EventArgs e)
{
if (Tekst.Text != "")
{
DialogResult result = MessageBox.Show("Czy chcesz zapisać zmiany?", "Notatnik", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
switch (result)
{
case DialogResult.Yes:
zapisywanie();
break;
case DialogResult.No:
Tekst.Clear();
break;
}
}
}
Gdy dam "nie" to ekran się wyczyści(mam nowy dokument), gdy dam "anuluj" to wrócę do dokumentu bez czyszczenia i to mam ogarnięte.
Teraz sprawa ma się tak, jak dam "tak" to pokaże się okno dialogowe do zapisu. Jeżeli w tym ognie wybiorę "zapisz" to się zapisze i jest git, gdy dam "anuluj" to wróci do dokumentu. A ja potrzebuję zrobić tak by po zapisie ekran się wyczyścił, a gdy dam anuluj to by powrócił bez czyszczenia.
Próbowałem już dawać w różnych miejscach czyszczenie, ale nie działa to tak jak powinno:( np: Po zapisie czyści mi ekran, ale jeżeli dam anuluj to też czyści:(
jak zrobić by w oknie dialogowym zapisu po kliknięciu 'anuluj' dalsze instrukcje się nie wykonywały?