Базовые компоненты. Компонент OpenFileDialog

   
На этом шаге мы рассмотрим назначение, основные свойства и пример использования этого компонента.

   
Компонент OpenFileDialog (рисунок 1) представляет собой диалоговое окно (диалог) Открыть.


Рис.1. Компонент OpenFileDialog

   
Свойства компонента приведены в таблице 1.

Таблица 1. Свойства компонента OpenFileDialog

СвойствоОписание
TitleТекст в заголовке окна. Если значение свойства не задано, то в заголовке отображается текст Открыть
InitialDirectoryКаталог, содержимое которого отображается при появлении диалога на экране
FilterСвойство задает один или несколько фильтров файлов. В окне отображаются только те файлы, имена которых соответствуют выбранному фильтру. Фильтр задается строкой вида Описание|Маска.
Например, фильтр Текст|*.txt задает, что в окне диалога следует отображать только текстовые файлы. Фильтр может состоять из нескольких элементов, например: Текст|*.txt|Все файлы|*.*
FilterIndexЕсли фильтр состоит из нескольких элементов, например, Текст|*.txt|Все файлы|*.*, то значение свойства задает фильтр,
который будет использоваться в момент появления диалога на экране
FileNameИмя выбранного пользователем файла
RestoreDirectoryПризнак необходимости отображать содержимое каталога, указанного в свойстве InitialDirectory, при каждом появлении окна. Если значение свойства равно False, то при следующем
появлении окна отображается содержимое каталога, выбранного пользователем в предыдущий раз

   
Отображение диалога Открыть обеспечивает метод ShowDialog. Его значением является код клавиши, нажатием которой пользователь завершил диалог (закрыл окно).

   
В качестве примера приведем фрагмент программы MEdit — функция обработки события Click на команде Открыть меню Файл.

   
На рисунке 2 приведен внешний вид формы.


Рис.2. Внешний вид формы

   
На нее мы добавили компонент textBox (имя textBox1), у которого установили следующие свойства:

  • Anchor в Top, Bottom, Left, Right - для того, чтобы при изменении формы компонент занимал всю рабочую область формы;
  • ScrollBars в Both - для задания горизонтальных и вертикальных полос прокрутки;
  • Multiline в True - позволяет размещать текст в нескольких строках.
.    .   .   .
private:
	String^ fn;         // имя файла
	bool textChanged;   // true - в текст внесены изменения

// выбор в меню Файл команды Открыть
private: System::Void toolStripMenuItem2_Click(System::Object^  sender, 
		System::EventArgs^  e) {
	
	System::Windows::Forms::DialogResult dr; 
	int r; 

	r = 0; //SaveText(); // сохранить текст, находящийся в поле компонента 
		// функция, которая будет использована в дальнейшем для 
		// сохранения предыдущего содержимого компонента

	if (r == 0) // если нечего сохранять...
	{ 
		openFileDialog1->FileName = String::Empty; 
		// отобразить диалог Открыть 
		dr = openFileDialog1->ShowDialog(); 
		if (dr == System::Windows::Forms::DialogResult::OK) 
		{ 
			fn = openFileDialog1->FileName; 
			// отобразить имя файла в заголовке окна 
			this->Text = fn; 
			try 
			{ 
				// считываем данные из файла 
				System::IO::StreamReader^ sr = 
				gcnew System::IO::StreamReader(fn); 
				textBox1->Text = sr->ReadToEnd(); 
				textBox1->SelectionStart = textBox1->TextLength; 
				sr->Close(); 
				textChanged = false; 
			} 
			catch ( System::IO::FileLoadException^ e) 
			{ 
				MessageBox::Show("Ошибка:\n" + e->Message, 
					"MEdit", 
					MessageBoxButtons::OK, 
					MessageBoxIcon::Error); 
			} 
		} 
	} 
}

Архив проекта можно взять здесь.

   
На следующем шаге мы рассмотрим компонент SaveFileDialog.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий