|
Программирование >> Программирование с использованием ajax
де чем действие будет выполнено. При выборе меню File, New и Save действия выполняются без дополнительного вмешательства пользователя. Имена элементов меню и значения свойства Text приведены в табл. 17.3. Для каждого из элементов меню нужно также определить обработчик события Click с именем, указанным в таблице. Чтобы определить обработчик события Click, выберите меню в диалоговом окне, щелкните на кнопке Events (События) в окне Properties (Свойства), выберите событие Click и введите имя метода обработчика. Таблица 17.3. Элементы меню File
5. Обработчик пункта меню &New должен очищать данные в текстовом поле, вызывая метод Clear () элемента управления TextBox: private void OnFileNew(object sender. System.EventArgs e) { fileName = Untitled ; textBoxEdit.Clear 0; 6. Установите переменную-член filename в значение Untitled . Эту переменную-член нужно объявить и инициализировать в классе SimpleEditorForm: public partial class SimpleEditorForm : Form { private string fileName = Untitled ; Форма SimpleEditor должна позволять передачу имени файла в качестве аргумента во время запуска приложения. Переданное имя файла должно использоваться для открытия файла и отображения его содержимого в текстовом поле. 7. Измените реализацию конструктора SimpleEditorForm, чтобы он использовал строку при передаче имени файла: public SimpleEditorForm (string fileName) InitializeComponent(); if (fileName != null) { this.fileName = fileName; OpenFile(); 8. Теперь реализацию метода Main () в файле Program, cs можно изменить, чтобы ему можно было передавать аргумент: static void Main (string [] args) string fileName = null; if (args.Length != 0) fileName = args[0]; 9. Реализуйте метод OpenFile (), открывающий файл и заполняющий текстовое поле данными из файла: В действительности метод OpenFile () обращается к открываемому файлу и использует методы, которые не наилли подробного отражения в этой главе, но обращение к файлу подробно освещено в гяаве 24. private void OpenFile () { try { textBoxEdit.Clear О; textBoxEdit.Text = File.ReadAllText(filename); catch (lOException ex) ( MessageBox.Show(ex.Message, Simple Editor , MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Этот код использует для чтения файла класс File, принадлежащий пространству имен System, 10, поэтому в начало файла SimpleEdi torForm.cs нужно добавить также следующую директиву using: using System.10; Класс File и пространство имен System. 10 наряду с другими классами доступа к файлам рассмотрены в главе 24. 10. Как было показано в главе 7, внутри Visual Studio можно определять параметры командной строки, предназначенные для отладки. Щелкните правой кнопкой мыши на проекте в панели Solution Explorer и из контекстного меню выберите опцию Properties. В левой части диалогового окна Properties выберите вкладку Debug (Отладка). В открывшемся диалоговом окне можно ввести аргументы командной строки. В данном случае в целях тестирования введите следующее: С:\BegVCSharp\Chapterl7\SimpleEditor\SimpleEditor\SimpleEditorForm.cs 11. Запустите приложение. Файл текущего проекта SirapleEditorForm.cs немедленно откроется и отобразится, как показано на рис. 17.8. %* simple Editor
Puc. 17.8. Работающее приложение SimpleEditor Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application. Run (new SinpleEditorForm (fileName)) ; Описание полученных результатов Первые шесть шагов просто определяют форму - этот процесс должен быть знаком, если вы достаточно внимательно прочли предыдущие две главы. Основная работа приложения начинается с шага 7. Добавление string [] в параметры метода Main О позволяет использовать любые аргументы командной строки, указываемые пользователем при запуске приложения: static void Маш (string [ ] args) В методе Main (), используя свойство Length, мы проверяем, были ли аргументы переданы методу. Если хотя бы один аргумент был передан, в качестве первого аргумента устанавливается переменная fileName, которая затем передается конструктору SimpleEditorForm: string fileName = null; if (args.Length != 0) fileName = args[0]; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new SimpleEditorForm(fileName)); В конструкторе SimpleEditorForm мы проверяем, имеет ли уже переменная fileName набор значений. Если да, то переменная-член fileName устанавливается, и метод OpenFi 1е () вызывается для открытия файла. Для открытия файла и заполнения текстового поля используйте отдельный метод OpenFi 1е (), а не записывайте соответствующие функции непосредственно в конструкторе класса, поскольку метод OpenFi 1е () может применяться и в других частях программы: if (fileName != null) { this.fileName = fileName; OpenFile (); Метод OpenFile () выполняет считывание данных из файла. Для получения всех строк, возвращенных в массиве строк, мы используем статический метод ReadAllText (). Поскольку операции с файлом вполне могут генерировать исключения (например, вследствие отсутствия у пользователя соответствующего права доступа к файлу), код помещен в блок try. В случае возникновения исключения ввода-вывода программа открывает окно сообщения, информирующего пользователя о проблеме, но приложение продолжает выполняться: protected void OpenFile() { try { textBoxEdit.Clear(); textBoxEdit.Text = File.ReadAllText(fileName); catch (lOException ex) MessageBox.Show(ex.Message, Simple Editor , MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |