|
Программирование >> Программирование с использованием ajax
Simplt Editor Could not find We civBegVCSharpvChapterl / SenpteEditor Smiptetditorlxn.Debug te sf. Puc. 17.9. Окно с сообщением о несуществующем файле Теперь можно выполнять чтение файлов с помощью простого редактора, передавая ему имя файла при запуске приложения. Естественно, при этом лучше использовать классы обычных диалоговых окон, и мы добавим их в приложение в следующем практическом занятии. Практическое занятие Добавление и использование класса OpenFileDialog 1. В категории Windows Forms панели инструментов Toolbox найдите компонент OpenFileDialog. Перетащите его из Toolbox на серую область в нижней части панели Forms Designer. Измените три свойства: имя экземпляра на dlgOpenFile, значение свойства Filter на приведенную ниже строку и значение свойства Filterlndex на 2, чтобы определить Wrox Documents как опцию, выбираемую по умолчанию: Text Documents (*.txt) Г.txtWrox Documents (*.wroxtext)*.wroxtextAll Files Г.* 2. Ранее мы добавили к пункту меню Open обработчик события Click, названный OnFileOpen. Чтобы с помощью Forms Designer добавить реализацию этого обработчика события, дважды щелкните на пункте меню Open. Код реализации отображения диалогового окна и чтения выбранного файла имеет следующий вид: private void OnFileOpen(object sender. System.EventArgs e) { if (dlgOpenFile.ShowDiaiog0 == DialogResult.OK) { fileName = dlgOpenFile. FileName; OpenFileO; Описание полученных результатов Добавление компонента OpenFileDialog в область проектирования Windows Forms Designer ведет к добавлению нового приватного члена в класс SimpleEdi tor Form. Приватный член можно видеть в файле SimpleEditorForm. Designer. cs. Этот файл отображается только при щелчке на кнопке Show АН Files (Показать все файлы) в окне проводника решений Solution Explorer: Если при запуске приложения в качестве аргумента командной строки вводится несуществующее имя файла, программа отображает окно сообщения, показанное на рис. 17.9. partial class SimpleEditorForm { private System.Windows.Forms.TextBox textBoxEdit; private System.Windows.Forms.MenuStrip mainMenu; private System.Windows.Forms.ToolStripMenuItem miFile; private System.Windows.Forms.ToolStripMenuItem miFileNew; private System.Windows.Forms.ToolStripMenuItem miFileOpen; private System.Windows.Forms.ToolStripMenuItem miFileSave; private System.Windows.Forms.ToolStripMenuItem miFileSaveAs; private System.Windows.Forms.OpenFileDialog dlgOpenFile; В области кода конструктора, сгенерированной средой Windows Forms, в методе InitializeComponent (), создается новый экземпляр этого класса OpenFileDialog и устанавливаются указанные свойства. Щелкните на символе + строки кода, сгенерированного Windows Forms Designer, а затем не символе + строки private void InitializeComponent (), чтобы увидеть следующий код: private void InitializeComponent () { this. textBoxEdit = new System.Windows. Forms.TextBox () ; this.mainMenu = new System.Windows.Forms.MenuStrip() ; this.miFile = new System.Windows.Forms.ToolStripMenuItem() ; this.miFileNew = new System.Windows.Forms.ToolStripMenuItem(); this.miFileOpen = new System.Windows.Forms.ToolStripMenuItem() ; this.miFileSave = new System.Windows.Forms.ToolStripMenuItem(); this.miFileSaveAs = new System.Windows.Forms.ToolStripMenuItem(); this.dlgOpenFile = new System.Windows.Forms.OpenFileDialog(); ... dlgOpenFile this.dlgOpenFile.Filter = Text Dociiments (*. txt) *. txt Wrox Dociiments + (*.wroxtext)I *.wroxtextAll Files*.* ; this.dlgOpenFile.Filterlndex = 2; Конечно, происходящее в данном случае полностью совпадает с тем, чего можно было бы ожидать при перетаскивании на форму любого другого стандартного элемента управления, но при поддержке Windows Forms Designer мы смогли создать новый экземпляр класса OpenFileDialog и установить его свойства. Теперь диалоговое окно можно отобразить. Метод ShowDialog () отображает диалоговое окно File Open (Открытие файла) и возвращает кнопку, нажатую пользователем. Если пользователь нажимает что-либо кроме кнопки ОК, никакие другие действия выполнять не нужно. По этой причине проверка на соответствие значению DialogResult.OK выполняется в операторе if. Если пользователь отменяет диалоговое окно, ничего не должно происходить: if (dlgOpenFile.ShowDialogО == DialogResult.OK) { Затем получается выбранное имя файла, обращаясь к свойству FileName класса OpenFileDialog, и устанавливаем переменную-член fileName в это значение. Именно это значение используется методом OpenFile (). Файл можно было бы открыть непосредственно, используя класс File, но поскольку мы уже располагаем методом OpenFile (), который открывает и считывает файл, мы используем следующий код: fileName = dlgOpenFile.FileName; OpenFile О; Теперь запустите программу SimpleEditor, показанную на рис. 17.10. На данный момент только пункты меню New и Open... являются действующими. Меню Save и Save As... будут реализованы в следующем разделе. Slmplt Editor Open-Save Save Аб Рис. 17.10. Приложение SimpleEdi tor с реализованными пунктами меню New и Open... Если выбрать пункт меню FileOpen, откроется диалоговое окно OpenFileDialog (рис. 17.11) и можно будет выбрать файл. Скорее всего, у вас нет файлов с расширением .wroxtext. До сих пор возможности сохранять файлы не было, поэтому можно в диалоговом окне редактора выбрать другой тип файла для открытия или переименовать какой-то текстовый файл, присвоив ему расширение .wroxtext. %< Open GO f Щ; Dotrumentj J Recently Changed Recent Places i Desktop f9 Computcf Pkcttee-. Щ Music More Folders Date modjfted Type Hi* No ttefiK rrvitrh your searcK 0 items RhQane Puc. 17.11. Диалоговое окно OpenFileDialog, отображающееся в результате выбора пункта меню File Open Выберите текстовый файл, щелкните на кнопке Open, и текст отобразится в текстовом поле диалогового окна. Как видно на рис. 17.12, был выбран пример текстового файла Thinktecture. txt в локальной системе.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |