Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

//Внутренним откликом на щелчок является

//повторение трех различных цветов кнопки в цикле

//-----------------------------------------------

protected override void OnClick(System.EventArgs e) {

//--------------------------------------------------------

//Важно: Вызвать базовую реализацию. Это

//обеспечит возможность вызова любого обработчика событий,

//подключенного к данному элементу управления

//--------------------------------------------------------

base.OnClick(e);

//------------------------------------------------------

//Выбрать цвет новой кисти, исходя из цвета старой кисти

//------------------------------------------------------

if (m_RectangleColor == System.Drawing.Color.Black) {

m_RectangleColor = System.Drawing.Color.Blue;

//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

//Запустить событие !

//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

if (EventButtonTurningBlue!= null) {

//Возбудить событие без передачи аргумента

EventButtonTurningBlue(this, null);

}

}

else

if (m_RectangleColor == System.Drawing.Color.Blue) m_RectangleColor = System.Drawing.Color.Red;

else m_RectangleColor = System.Drawing.Color.Black;

//-----------------------

//Освободить старую кисть

//-----------------------

m_RectangleBrush.Dispose;

//----------------------------------------------------------------

//Создать новую кисть, которую мы собираемся использовать для фона

//----------------------------------------------------------------

m_RectangleBrush = new System.Drawing.SolidBrush(m_RectangleColor);

//------------------------------------------------------------

//Сообщить операционной системе, что наш элемент управления

//должен быть перерисован, как только представится возможность

//------------------------------------------------------------

this.Invalidate;

}

//----------------------------------------------------------------

//Ради интереса подсчитаем, сколько раз осуществлялась перерисовка

//----------------------------------------------------------------

int m_paintCount;

protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) {

//--------------------------------------------

//ВАЖНО: Вызвать базовый класс и позволить ему

//выполнить работу по рисованию

//--------------------------------------------

base.OnPaint(e);

//Увеличить на единицу значение счетчика вызовов

m_paintCount = m_paintCount + 1;

//-------------------------------------------------------------------

//Важно:

//Вместо того чтобы создавать объект Graphics, мы получаем его

//на время данного вызова. Это означает, что освобождать память путем

//вызова метода .Dispose объекта - не наша забота

//-------------------------------------------------------------------

System.Drawing.Graphics myGfx;

myGfx = e.Graphics;

//Нарисовать прямоугольник

  • Читать дальше
  • 1
  • ...
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: