Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

CheckBox



Чекбоксы относятся к так называемым кнопкам отложенного действия, т. е. их нажатие не запускает немедленно какого-либо процесса. С их помощью пользователь устанавливает определенные параметры, результат действия которых скажется после запуска других элементов управления. Добавим в приложение Notepad C# форму для поиска заданного текста, в которой будут использованы элементы управления CheckBox. В окне Solution Explorer щелкаем правой кнопкой мыши на названии проекта — NotepadCSharp — и в появившемся меню выбираем пункт Add Windows Form. Называем новую форму FindForm.cs и устанавливаем следующие свойства:

FindForm, форма, свойство Значение
Name FindForm
FormBorderStyle FixedToolWindow
Size 328; 112
Text Find

Располагаем на форме TextBox, две кнопки и два элемента CheckBox так, как показано на рис. рис. 2.23:

Рис. 2.23. Форма FindForm в режиме дизайна

Устанавливаем следующие свойства элементам управления:

TextBox, свойство Значение
Name txtFind
Size 192; 20
Text  
checkBox1, свойство Значение
Name cbMatchCase
Text Match &Case
       
checkBox2, свойство Значение
Name cbMatchWhole
Text Match &whole word
button1, свойство Значение
Name btnOK
DialogResult OK
Text &OK
       
button2, свойство Значение
Name btnCancel
DialogResult Cancel
Text &Cancel

Выбор первого чекбокса — cbMatchCase — будет устанавливать поиск слова с учетом регистра, второго – cbMatchWhole — поиск по целому слову. Обратите внимание на свойство кнопок DialogResult — выбирая соответствующие свойства, мы устанавливаем обработчики для кнопок без обращения к коду. Значение ОК закрывает форму, выполняя установленное действие, — в данном случае — поиск; значение Cancel просто закрывает форму. В главном меню формы frmmain добавляем разделительную линию и пункт Find и устанавливаем значения свойств: Name — mnuFind, Shortcut — CtrlF, Text — &Find. Переходим в обработчик этого пункта:

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

{

//Создаем новый экземпляр формы FindForm

FindForm frm = new FindForm();

//Если выбран результат DialogResult.Cancel, закрываем форму (до этого

//мы использовали DialogResult.OK)

if(frm.ShowDialog(this) == DialogResult.Cancel) return;

////Переключаем фокус на данную форму.

blank form = (blank)this.ActiveMdiChild;

////Указываем, что родительской формой является форма frmmain

form.MdiParent = this;

//Вводим переменную для поиска в определенной части текста —

//поиск слова будет осуществляться от текущей позиции курсора

int start = form.richTextBox1.SelectionStart;

//Вызываем предопределенный метод Find элемента richTextBox1.

form.richTextBox1.Find(frm.FindText, start, frm.FindCondition);

}

Основой поиска будет метод Find элемента управления RichTextBox. Нам остается лишь указать параметры поиска, которые могут принимать различные значения (рис. 2.24):


Рис. 2.24. Параметры метода Find. Щелкая на маленькую кнопку всплывающей подсказки Intel Sense, выбираем разные подсказки для групп передаваемых параметров

В коде формы FindForm осталось реализовать логику работы, зависящую от положения элементов CheckBox:

// Создаем перечисление, возвращающее параметр FindCondition

public RichTextBoxFinds FindCondition

{

get

{

//Выбраны два чекбокса

if (cbMatchCase.Checked && cbMatchWhole.Checked)

{

// Возвращаем свойство MatchCase и WholeWord

return RichTextBoxFinds.MatchCase| RichTextBoxFinds.WholeWord;

}

//Выбран один чекбокс

if (cbMatchCase.Checked)

{

// Возвращаем свойство MatchCase

return RichTextBoxFinds.MatchCase;

}

//Выбран другой чекбокс

if (cbMatchWhole.Checked)

{

// Возвращаем свойство WholeWord

return RichTextBoxFinds.WholeWord;

}

//Не выбран ни один чекбокс

return RichTextBoxFinds.None;

}

}

Листинг 2.11.

И наконец, создаем свойство FindText, возвращающее в качестве переменной поиска введенный текст в текстовое поле формыFindForm:

public string FindText

{

get{return txtFind.Text;}

set{txtFind.Text = value;}

}

Запускаем приложение. Выбирая различные варианты, можно однократно искать заданное слово (рис. 2.25):


Рис. 2.25. Поиск слова в тексте





Дата публикования: 2014-12-11; Прочитано: 323 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...