progs.biz  
Начало>VB.NET>Компоненты>Урок 3
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. Создание компонентов
Урок 3. Добавление метода

Теперь добавим к нашему компоненту метод.

Название для метода будет Rand, параметров у него не будет, возвращать же он будет случайное число от 1 до N и отображать это число на нашем компоненте.

Вот код для метода:

    Public Function Rand() As Int32
        'Объявляем экземпляр класса Random.
        Dim rnd As New Random
        'Получаем случайное число.
        k = rnd.Next(1, _N + 1)
        'Перерисоваваем.
        Invalidate()
        Return k
    End Function

Так так тут мы использовали переменную k, то ее надо объявить на уровне класса нашего компонента:

    ...
    Dim k As Int32
    ...

Теперь надо написать код для перерисовки. Вот он:

    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.Black), _
                Me.Width / 2, Me.Height / 2)
    End Sub

Этот метод - перекрытый из родительского класса. Это означает, что заготовку для него не надо писать вручную - для его добавления в окне кода выбираем в левом combobox'е Overrides, а в правом - название метода OnPaint:

Добавление перекрытого метода

С добавлением метода все.

Рассылки нашего сайта на 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 Игорь Алексеев