Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
SaveFileDialog
Для сохранения файлов необходимо добавить элемент управления SaveFileDialog на форму. Cвойства этого диалога в точности такие же, как у OpenFileDialog. В листинге 7.7 рассматривается пример работы с компонентом SaveFileDialog из дочерней формы. Листинг 7.7 Пример работы компонента SaveFileDialog //Создаем метод Save, в качестве параметра объявляем строку адреса файла. public void Save(String SaveFileName) { if (SaveFileName == null) { return; } else { StreamWriter sw = new StreamWriter(SaveFileName); //Содержимое richTextBox1 записываем в файл sw.WriteLine(richTextBox1.Text); sw.Close(); //Устанавливаем в качестве имени документа название //сохраненного файла DocName = SaveFileName; } }
//Добавляем обработчик пункта меню Save формы frmmain: private void mnuSave_Click(object sender, EventArgs e) { saveFileDialog1.Filter = " Text Files (*.txt)|*.txt|All Files(*.*)|*.*"; if (saveFileDialog1.ShowDialog() ==.DialogResult.OK) { //Переключаем фокус на данную форму. blank frm = (blank)(this.ActiveMdiChild); //Вызываем метод Save формы blank frm.Save(saveFileDialog1.FileName); frm.MdiParent = this; frm.DocName = saveFileDialog1.FileName; frm.Text = frm.DocName; } } Теперь файлы можно открывать, редактировать и сохранять. Однако, при сохранении внесенных изменений в уже сохраненном файле вместо его перезаписи вновь появляется окно SaveFileDialog. Для того, чтобы можно было сохранять и перезаписывать файл в конструкторе формы необходимо отключить доступность пункта меню Save: mnuSave.Enabled = false; Переключаемся в режим дизайна формы frmmain и добавляем пункт меню Save As после пункта Save. Устанавливаем следующие свойства этого пункта: Name — mnuSaveAs, Shortcut — Ctrl+Shift+S, Text Save & As. В обработчике Save As вставляем вырезанный обработчик пункта Save и добавляем включение доступности Save: mnuSave.Enabled = true; Для того, чтобы сохранять изменения как в только что сохраненных документах, так и в документах, созданных ранее и открытых для редактирования, необходимо добавить еще один пункт меню SaveAs и добавить в метод Open включение доступности пункта меню Save: private void mnuOpen_Click(object sender, EventArgs e) { mnuSave.Enabled = true; } Обработчик пункта Save для перезаписи файла будет выглядеть следующим образом: private void mnuSave_Click(object sender, EventArgs e) { //Переключаем фокус на данную форму. blank frm = (blank) (this.ActiveMdiChild); //Вызываем метод Save формы blank frm.Save(frm.DocName); }
|