VB.NET. Создание компонентов Урок 5. Добавление обработчика для щелчка мыши
Рассмотрим добавление обработчика для нашего компонента на примере щелчка для левой кнопки мыши.
В нашем примере мы будем прищелчке мыши изменять цвет надписи на нашем компоненте случайным образом.
Для этого, во-первых, мы добавим три переменные трех составляющих цвета в класс компонента:
Public Class UserControl1
...
'Переменные для хранения цвета
Private _red, _green, _blue As Byte
...
Во-вторых, мы внесем изменения в OnPaint:
Protected Overrides Sub OnPaint _
(ByVal e As System.Windows.Forms.PaintEventArgs)
Dim g As Graphics
g = e.Graphics()
g.DrawString(k.ToString(), New Font("Arial", 16), _
New SolidBrush(Color.FromArgb(_red, _green, _blue)), _
Me.Width / 2, Me.Height / 2)
End Sub
Конкретно тут мы создали новую кисть случайного цвета, используя метод FromArgb класса Color:
...
New SolidBrush(Color.FromArgb(_red, _green, _blue))
...
И в-третьих, мы должны добавить обработчик для щелчка кнопки мыши. Для этого в левом combobox'е окна кода выбираем "UserControl1 Events", а в правом - "MouseDown":
В появившуюся заготовку вставляем следующий код:
Private Sub UserControl1_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles MyBase.MouseDown
'Если нажата левая кнопка мыши.
If e.Button = MouseButtons.Left Then
Dim rnd As New Random
'Получаем случайное число.
_red = rnd.Next(0, 255)
_green = rnd.Next(0, 255)
_blue = rnd.Next(0, 255)
'Перерисовываем.
Invalidate()
End If
End Sub
Все! Теперь наш компонент при щелчке на нем будет менять произвольным образом цвет надписи.
|