progs.biz  
Начало>VB.NET>Компоненты>Урок 5
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Заказать на Озоне



Яндекс-цитирования

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

Все! Теперь наш компонент при щелчке на нем будет менять произвольным образом цвет надписи.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев