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

Салмре Иво

Шрифт:

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

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

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

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;

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

myGfx.FillRectangle(m_RectangleBrush, 0, 0, this.Width,this.Height);

//Нарисовать текст

myGfx.DrawString("Button! Paint: " + m_paintCount.ToString, this.Parent.Font, m_TextBrush, 0, 0);

 } //конец функции

} //конец класса

Листинг 11.10. Код, который должен быть помещен в форму для создания экземпляра пользовательского элемента управления

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

//Этот код будет подключен в качестве нашего обработчика событий

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

private void CallWhenButtonTurningBlue(object sender, System.EventArgs e) {

 System.Windows.Forms.MessageBox.Show("Button is about to turn blue!");

}

//Наша новая кнопка

myButton m_newControl;

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

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

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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