Создание Windows-приложений на основе Visual C#



Сохранение файла при закрытии формы


Всякий раз, когда мы закрываем документ Microsoft Word, в который внесли изменения, появляется окно предупреждения, предлагающее сохранить документ. Добавим аналогичную функцию в наше приложение. В классе blank : System.Windows.Forms.Form формы blank создаем переменную, которая будет фиксировать сохранение документа:

public bool IsSaved = false;

В обработчик методов Save и Save As формы frmmain добавляем изменение значения этой переменной:

private void mnuSave_Click(object sender, System.EventArgs e) { … frm.IsSaved = true; }

private void mnuSaveAs_Click(object sender, System.EventArgs e) { … frm.IsSaved = true; }

Переходим в режим дизайна формы blank и в окне свойств переключаемся на события формы, щелкнув на значок с молнией. В поле события Closing дважды щелкаем и переходим в код:

private void blank_Closing(object sender, System.ComponentModel.CancelEventArgs e) { //Если переменная IsSaved имеет значение true, т. е. новый документ //был сохранен (Save As) или в открытом документе были сохранены изменения (Save), то //выполняется условие if(IsSaved ==true) //Появляется диалоговое окно, предлагающее сохранить документ. if(MessageBox.Show("Do you want save changes in " + this.DocName + "?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) //Если была нажата кнопка Yes, вызываем метод Save { this.Save(this.DocName); }

}

Пример 2.7.

Запускаем приложение. При закрытии формы blank или frmmain появляется окно предупреждения (рис. 2.17):

Окно предупреждения при закрытии формы

Рис. 2.17.  Окно предупреждения при закрытии формы




Содержание  Назад  Вперед