Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Подключение функциональности Find and Replace к источникам задач






Теперь нам осталась самая малость - подключить готовый код функциональности Find and Replace к обработчикам интерфейсных элементов в основном окне и испытать его работу. Заготовки обработчиков мы создавали ранее и они находятся в файле Edit.cs.

  • Добавьте в соответствующие обработчики файла Edit.cs следующий код
private void FindOnExecute(object sender, RoutedEventArgs e) { CreateDialog(); } private void FindNextOnExecute(object sender, RoutedEventArgs e) { if (_dlg == null) CreateDialog(); else FindNextExec(); } private void ReplaceOnExecute(object sender, RoutedEventArgs e) { if (_dlg == null) { CreateDialog(); _dlg.ShowReplace = true; } else if (_dlg.ShowReplace == false) _dlg.ShowReplace = true; else ReplaceExec(); } private void GoToOnExecute(object sender, RoutedEventArgs e) { }
  • Запустите проект Notepad1 и испытайте функциональность Find and Replace. Разберитесь с кодом

Начальный интерфейс диалогового окна для задачи Replace будет таким

 

Когда диалоговое окно Find and Replace создано, оно размещается поверх своего родителя. Кнопки диалогового окна возбуждают события, которые обрабатываются кодом основного окна, содержащего текст. Тот же самый код может вызываться и в обработчиках основного окна, если пользователь управляет через интерфейсные элементы основного окна. Этот подход чем-то напоминает автомобиль с дублирующими педалями.

На панели инструментов осталось незадействованным текстовое поле поиска, обозначенное в разметке как

< ToolBar Header=" Find: " > < TextBox Width=" 100" /> < Button Name=" btnFind" Click=" FindOnExecute" Width=" 23" Content=" {StaticResource iconFind}" /> < /ToolBar>

Я оставил его в покое (надоело), попробуйте сами, если хотите, использовать его в коде, но для этого прежде всего ему нужно присвоить имя, например, txtFind. Ну а лучше - пусть болтается для солидности.

Следующим шагом реализуем последнюю задачу раздела Edit в меню нашего приложения - Go To... Как видно из запланированного (опрометчиво) нами многоточия после названия задачи, это будет опять связано с разработкой диалогового окна. Причем, это окно должно быть модальным, потому что выполняет одноразовую задачу.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.