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);
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.