Программирование >>  Программирование с использованием ajax 

1 ... 170 171 172 [ 173 ] 174 175 176 ... 396


де чем действие будет выполнено. При выборе меню File, New и Save действия выполняются без дополнительного вмешательства пользователя. Имена элементов меню и значения свойства Text приведены в табл. 17.3. Для каждого из элементов меню нужно также определить обработчик события Click с именем, указанным в таблице. Чтобы определить обработчик события Click, выберите меню в диалоговом окне, щелкните на кнопке Events (События) в окне Properties (Свойства), выберите событие Click и введите имя метода обработчика.

Таблица 17.3. Элементы меню File

Имя элемента меню

Свойство Text

Метод обработчика

miFile

&File

miPileNew

&New

OnFileNew

miFileOpen

&Open

OnFileOpen

mlFileSave

&Save

OnFileSave

miFileSaveAs

Save &As.

OnFileSaveAs

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

u*ng Syatem

uang Syalem Ю

u no Syeem Wndowt Forms

nameapace SmpeEdtor {

pubk: D M dass SnvleEdtorform Form (

prvate emgfleName Urt *fJ

pubic SmipieEdlorFonrtstnr MeNeme)

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);



1 ... 170 171 172 [ 173 ] 174 175 176 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика