Читаем Программирование мобильных устройств на платформе .NET Compact Framework полностью

 ByVal e As System.EventArgs)


 'Конструктор

 Public Sub New

  MyBase.New


  'ПРИМЕЧАНИЕ: Мы должны написать функцию "Dispose" и

  'деструктор, который освобождает память от этих объектов

  'Создать необходимые кисти

  m_RectangleColor = System.Drawing.Color.Black

  m_RectangleBrush = New System.Drawing.SolidBrush( _

   m_RectangleColor)

  m_TextBrush = New System.Drawing.SolidBrush( _

   System.Drawing.Color.White)

End Sub


'-----------------------------------------------

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

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

'-----------------------------------------------

Protected Overrides Sub OnClick(ByVal e As System.EventArgs)


 '--------------------------------------------------------

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

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

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

 '--------------------------------------------------------

 MyBase.OnClick (e)


 '------------------------------------------------------

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

 '------------------------------------------------------

 If (m_RectangleColor.Equals(System.Drawing.Color.Black)) Then

  m_RectangleColor = System.Drawing.Color.Blue

  '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

  '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

  RaiseEvent EventButtonTurningBlue(Me, Nothing)

 ElseIf (m_RectangleColor.Equals(System.Drawing.Color.Blue)) Then

  m_RectangleColor = System.Drawing.Color.Red

 Else

  m_RectangleColor = System.Drawing.Color.Black

 End If


 '-----------------------

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

 '-----------------------

 m_RectangleBrush.Dispose


 '----------------------------------------------------------------

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

 '----------------------------------------------------------------

 m_RectangleBrush = _

  New System.Drawing.SolidBrush(m_RectangleColor)


 '------------------------------------------------------------

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

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

 '------------------------------------------------------------

 Me.Invalidate

End Sub


'----------------------------------------------------------------

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

'----------------------------------------------------------------

Private m_paintCount As Integer

Protected Overrides Sub OnPaint( _

 ByVal e As System.Windows.Forms.PaintEventArgs)

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT