Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 269

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 263 264 265 266 267 268 < 269 > 270 271 272 273 274 275 .. 404 >> Следующая


// Объект наблюдения за файловой системой private FileSystemWatcher watcher;

6. Теперь требуется внести некоторый код в метод InitiaiizeComponent о. Для того чтобы получить возможность просматривать метод initiaiizeComponent(), вам придется прежде всего раскрыть более широко область, обозначенную как Windows Form Designer generated code (код, сгенерированный программой Windows Form Designer),

Для этого щелкните мышью на маленьком окошке, в котором нарисован знак плюс, в левой части экрана. В результате вы увидите метод InitiaiizeComponent (), в котором уже находится большое количество кода, помещенного туда Visual Studio.NET,

Добавьте следующий КОД В конец метода InitiaiizeComponentо,

Этот код необходим для инициализации объекта Filesystemwatcher и привязывает события к методам, к созданию которых мы приступим далее:

this.watcher « new System.lO-.FileSystemWatcher{) ;

this.watcher.Deleted += new System.10.FileSystemEventHandler (this,OnDelcte); this.watcher.Renamed ¦* new System.Г0.aenamecLE vent Handler(this.OnRenamed); -

this.watcher.Changed +- new System. 10.FileSysteioEventHandler (this.OnChunged) ; this,watcher.Created += new System,10.FileSystemEventHandler(this.OnCreate);

7. Добавьте следующие четыре метода после метода initiaiizeComponentо. Эти методы будут заниматься обработкой событий, создаваемых объектом Filesystemwatcher:

- // Описание обработчиков событий.

public void OnChanged tobject source, FileSystemEventArge e)

(
Работа с файлами

577

try

<

Streamwriter sw = new StxeamWriter(*Cs^FileLogs/Log.txt'.true)j sw.WriteLine('File: (0) {1}', e.FullPath, e.ChangeType.ToStringO ); ew. Close () t

lblWatch.Text = ‘Wrote change event to log';

)

catch(IOException ex)

{

lblWatch.Text = “Error Writing to log";

)

public void OnRenamed(object source, Ren dEventArgs e)

t

tty

f

Streamwriter sw =new StreariWriter(*C:/FileLogs/Log.txt',true)j sw.WriteLine('Pile rename from (0) to {l}1, e.OldSame, e.FullPath); sw.Close();

lblWatch.Text = 'Wrote renamed event to log'j

)

catch(IOException ex) t

lblWatch.Text = 'Error Writing to log'j

)

public void QnDelete(object source, FileSystemEventArgs e)

(

try .

t

Streamwriter ew * new StreamWriterCCs/FileLogs/Log.txt'.true) ; sw.WriteLine('File: [0} Deleted', e.FullPath)j sw.Close!);

lblWatch.Text = 'Wrote delete event to-log'j

)

catch(IOException ex)

{

lblWatch.Text “ 'Error Writing to log',*

)

public void OnCreate(object source, FileSystemEventJ 0 (

try

(

Streamwriter sw “ new Streamwriter('C:/FileLogs/Log.txt',true); sw.WriteLine('File: {0} Created', e.FullPath); sw.Closet);

lblWatch.Text « 'Wrote create event to log';

) . catch (iOh iception ex)

{

lblWatch.Text ¦ 'Error Writing to log')

>

)

8. Теперь нужно добавить обработчик событий дли кнопки поиска (Browse...). Проще всего этого можно добиться, позволив IDE самостоятельно создать такой обработчик. Перейдите с помощью мыши обратно п окно разработки формы. Нажмите мышью
578

Глава 20

на кнопке Browse... два раза. Следующий код приводит к открытию диалога Open File, который позволяет пользователю выбрать файл, за которым будет установлено наблюдение. Это реализуется посредством метода showDialogO:

private void cmdBrowse_Click(object sender, System.EventArgs e)

(

if (FileDialoy.ShowDialo?О Iй DialogReault.Cancel )

(

txtLocation.Text “ FileDialog.FileName;

1

cmdWatch.Enabled * true)

>

Метод showDialogO возвращает значение перечислимого типа DialogResult, которое соответствует тому, каким образом пользователь покинул диалог Open File. У пользователя имеются две возможности: он может нажать либо кнопку ОК, либо кнопку Cancel. Необходимо убедиться в том, что пользователь не нажимал кнопку Cancel, поэтому, прежде чем занести выбранный пользователем файл в управляющий элемент Textbox, мы сравниваем полученный по завершении работы данного метода результат со значением перечислимого типа DialogResult.Cancel. После этого свойству Enabled кнопки Watch присваивается значение true — теперь имеется возможность вести наблюдение за выбранным файлом.

9. Переходим к последнему участку кода. Выполните точно такую же процедуру для кнопки Watch. Для запуска объекта Filesystemwatcher добавьте следующий код: private void cmdWatch_Click(object sender. System.EventArgs e)

(

watcher.Path «Path.GetDirectoryNeme<txtLocation.Text); watcher.Filter = Path.GetEileName(txtLocation.Text); watcher.NotifyFiltar »

NotifyFilt, i.LastWrite I NotifyFilters.FileName I NotifyFilters.Siae;

1ЫWatch.Text “ 'Watching " + txtLocation.Text)

II Начало наб щения.

watcher.EnableRaisingEvencs = true;

10. Необходимо убедиться в том, что директория оказывается доступной н в иее можно производить запись данных. Добавьте в конструктор Forml следующий код, который будет производить проверку на предмет существования соответствующей директории и создавать, если она отсутствует.
Предыдущая << 1 .. 263 264 265 266 267 268 < 269 > 270 271 272 273 274 275 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.