OpenFileDialog и SaveFileDialog для SDI-приложений
Добавляем на форму элементы TextBox и MainMenu. В MainMenu будет всего три пункта — File, Open и Save .В TextBox устанавливаем свойство Multiple в true.
Добавляем на форму элемент управления OpenFileDialog из окна панели инструментов ToolBox. Подобно элементу MainMenu, он будет располагаться на панели невидимых компонент:
рис.8
Свойство FileName задает название файла, которое будет находиться в поле "Имя файла:" при появлении диалога. На рис.8 название в этом поле — "Текстовые файлы".
Свойство Filter задает ограничение файлов, которые могут быть выбраны для открытия — в окне будут показываться только файлы с заданным расширением. Через вертикальную разделительную линию можно задать смену типа расширения, отображаемого в выпадающем списке "Тип файлов". Здесь введено Text Files (*.txt)|*.txt|All Files(*.*)|*.* что означает обзор либо текстовых файлов, либо всех.
Свойство InitialDirectory позволяет задать директорию, откуда будет начинаться обзор. Если это свойство не установлено, исходной директорией будет рабочий стол.
Из окна ToolBox перетаскиваем так же и элемент SaveFileDialog — свойства этого элемента в точности такие же, как и у диалога OpenFileDialog.
Переходим в код формы. Подключаем пространство имен для работы с файловыми потоками:
using System.IO;
Добавляем обработчик для пункта меню Open:
private void menuOpen_Click(object sender, System.EventArgs e)
{
//Показываем диалог выбора файла
openFileDialog1.ShowDialog();
// Переменной fileName присваиваем имя открываемого файла
string fileName = openFileDialog1.FileName;
//Создаем поток fs и открываем файл для чтения.
FileStream filestream = File.Open(fileName, FileMode.Open, FileAccess.Read);
//Проверяем, открыт ли поток, и если открыт, выполняем условие
if ( filestream != null )
{
//Создаем объект streamreader и связываем его с потоком filestream
StreamReader streamreader = new StreamReader(filestream);
//Считываем весь файл и записываем его в TextBox
txtBox.Text = streamreader.ReadToEnd();
//Закрываем поток.
filestream.Close();
}
}
Добавляем обработчик для пункта меню Save:
private void menuSave_Click(object sender, System.EventArgs e)
{
//Показываем диалог выбора файла
saveFileDialog1.ShowDialog();
// В качестве имени сохраняемого файла устанавливаем переменную fileName
string fileName = saveFileDialog1.FileName;
//Создаем поток fs и открываем файл для записи.
FileStream filestream = File.Open(fileName, FileMode.Create, FileAccess.Write);
//Проверяем, открыт ли поток, и если открыт, выполняем условие
if ( filestream != null )
{
//Создаем объект streamwriter и связываем его с потоком filestream
StreamWriter streamwriter = new StreamWriter(filestream);
//Записываем данные из TextBox в файл
streamwriter.Write(txtBox.Text);
//Переносим данные из потока в файл
streamwriter.Flush();
//Закрываем поток
filestream.Close();
}
}
В консольном приложении:
// Открыть диалоговое окно для выбора файла
OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Title = "Найдите требуемый файл"; // заголовок окна
// Показать окно
if (dlgOpen.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(dlgOpen.FileName,FileMode.Open);
. . .
Дата добавления: 2019-02-08; просмотров: 1505;