на начало
На главную страницу
Форум   

Статья :: Шаг 3: События MouseDown (Кнопка мыши нажата) и Keypress (Нажатие клавиши)


Шаг 3: События MouseDown (Кнопка мыши нажата) и Keypress (Нажатие клавиши)

На шаге 3 мы введем в наш пример обработку еще одного события, а именно, события KeyPress (Нажатие клавиши), а также покажем, как в событии MouseDown (Кнопка мыши нажата) различать, какая кнопка была нажата, левая или правая.

Обработка событий, вызванных правой и левой кнопкой мыши

Для того чтобы определить, какая кнопка мыши была нажата, нужно использовать свойство Button (Кнопка) параметра MouseEventArgs. Правую кнопку мыши будем использовать для удаления строки с приветствием, которая хранится в элементе данных str класса StringBuilder.

void Forml_MouseDown
(Object *pSender, MouseEventArgs *pmea)
{
if (pmea->Button == МоиseButtons::Left) // если левая кнопка
{
x = pmea->X;
у = pmea->Y;
}
else if (pmea->Button == MouseButtons::Right) // если правая
// кнопка
{
pStr = new StringBuilder();
}
Invalidate() ;
}

Событие Keypress (Нажатие клавиши)

На шаге 3 мы научимся обрабатывать событие KeyPress (Нажатие клавиши). Каждый раз, когда пользователь нажмет клавишу, в конец строки приветствия будет добавлен соответствующий символ. Обратите внимание, что вместо класса String (Строка) используется класс StringBuilder, который более эффективен в этой ситуации. Объект String (Строка) — стационарный (неизменяемый), то есть, для того, чтобы реализовать добавление символов в конец строки, нужно постоянно удалять одни объекты String (Строка) и создавать другие.

StringBuilder *pStr;
void Forml_KeyPress
(Object *pSender, KeyPressEventArgs *pmea)
{
pStr—>Append(pmea->KeyChar) ; // Добавляем в конец
Invalidate() ;
}

Также, как и на шаге 2, необходимо вызвать метод Invalidate (Считать недействительным), для того, чтобы принудительно перерисовать окно приложения после сделанных изменений. На рис. 6.8 показано окно приложения SimpleForm (Простая форма), после удаления исходного текста и ввода нового.

8.gif

Рис. 6.8. Испытываем события мыши и нажатия клавиши на клавиатуре (Шаг 3)


Шаг 3: События MouseDown (Кнопка мыши нажата) и Keypress (Нажатие клавиши)

страницы в данном разделе 
Глава 6. Создание графических пользовательских интерфейсов Создание графических пользовательских интерфейсов
Иерархия Windows Forms (Формы Windows) Создание простых форм с помощью комплекса инструментальных средств разработки программ .NET SDK
Шаг 0: Создание простой формы Шаг 1: Отображение текста на форме
Обработка событий в Windows Forms (Формы Windows) Документация по обработке событий
Событие MouseDown (Кнопка мыши нажата) Шаг 2: Обработка событий мыши
Шаг 2М: Несколько обработчиков для события Шаг 3: События MouseDown (Кнопка мыши нажата) и Keypress (Нажатие клавиши)
index12.html Шаг 4: Меню для выхода из программы
Код меню Код события Menu (Меню)
Управляющие элементы Шаг 5: Использование управляющего элемента TextBox (Поле)
Visual Studio.NET и формы Демонстрация Windows Forms (Формы Windows)
Окно конструктора (Design window) и окно кода (Code window) Добавление события
Код обработчика события Использование управляющего элемента Menu (Меню)
Закрытие формы (Выход из формы) Диалоговые окна
Документация по диалогам .NET Демонстрация диалогового окна
Управляющий элемент ListBox (Список элементов) Начальная загрузка списка элементов
Выбор элемента в списке элементов ListBox Пример бюро путешествий Acme (Acme Travel Agency) — шаг 3
Резюме >  


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста