Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Добавьте на форму frmmain элемент управления OpenFileDialog из окна панели инструментов ToolBox. Подобно элементу MainMenu, он будет располагаться на панели невидимых компонент (рис. 2.12):
увеличить изображение
Рис. 2.12. Добавление OpenFileDialog на форму
Свойство FileName задает название файла, которое будет находиться в поле "Имя файла:" при появлении диалога. На рис. рис. 2.12 название в этом поле — "Текстовые файлы", поскольку на рис. рис. 2.11 был введен именно этот текст. Свойство Filter задает ограничение файлов, которые могут быть выбраны для открытия — в окне будут показываться только файлы с заданным расширением. Через вертикальную разделительную линию можно задать смену типа расширения, отображаемого в выпадающем списке "Тип файлов". Здесь введено Text Files (*.txt)|*.txt|All Files(*.*)|*.* что означает обзор либо текстовых файлов, либо всех. Свойство InitialDirectory позволяет задать директорию, откуда будет начинаться обзор. Если это свойство не установлено, исходной директорией будет рабочий стол.
Для работы с файловыми потоками в коде формы blank подключаем пространство имен System.IO:
using System.IO;
В методе Open считываем содержимое файла в RichTextBox:
//Создаем метод Open, в качестве параметра объявляем строку адреса файла.
public void Open(string OpenFileName)
{
//Если файл не выбран, возвращаемся назад (появится встроенное предупреждение)
if (OpenFileName == "")
{
return;
}
else
{
//Создаем новый объект StreamReader и передаем ему переменную //OpenFileName
StreamReader sr = new StreamReader(OpenFileName);
//Читаем весь файл и записываем его в richTextBox1
richTextBox1.Text = sr.ReadToEnd();
// Закрываем поток
sr.Close();
//Переменной DocName присваиваем адресную строку
DocName = OpenFileName;
}
}
2.4.
Добавим обработчик пункта меню Open формы frmmain:
private void mnuOpen_Click(object sender, System.EventArgs e)
{
//Можно программно задавать доступные для обзора расширения файлов
//openFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files(*.*)|*.*";
//Если выбран диалог открытия файла, выполняем условие
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//Создаем новый документ
blank frm = new blank();
//Вызываем метод Open формы blank
frm.Open(openFileDialog1.FileName);
//Указываем, что родительской формой является форма frmmain
frm.MdiParent = this;
//Присваиваем переменной DocName имя открываемого файла
frm.DocName = openFileDialog1.FileName;
//Свойству Text формы присваиваем переменную DocName
frm.Text = frm.DocName;
//Вызываем форму frm
frm.Show();
}
}
2.5.
Запускаем приложение и открываем текстовый файл, сохраненный в формате блокнота (рис. 2.13).
Рис. 2.13. Заголовок формы представляет собой адрес и имя открытого файла
Для корректного чтения кириллицы текст в блокноте должен быть сохранен в кодировке Unicode. К сожалению, встроенные диалоговые окна OpenFileDialog Visual Studio.NET не содержат дополнительного поля, позволяющего выбирать кодировку файла при его открытии или сохранении, как это реализовано, например, в блокноте.
Дата публикования: 2014-12-11; Прочитано: 347 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!