Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет начинающим" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Создание пользовательского элемента управления на основе класса UserControl
|
Visual Basic.NET Лучшие статьи с сайта www.p-lib.pp.ru |
| Главная | Новости | Статьи | Каталог | Софт | Регистрация | Поиск |
|
Приглашаем авторов статей к сотрудничеству с сайтом. Для того чтобы разместить на сайте статью надо заполнить форму или связаться с нами по E-Mail Предлагаем владельцам сайтов добавить сабя в каталог на нашем сайте. NEW! Все желающие могут предложить свои темы для следующих рассылок. Для этого свяжитесь со мной по E-Mail. Каждое предложение будет рассмотрено. |
Новые статьи на сайте |
|
1. Как
получить текушее время? Описывается метод для получения текущего времени. 2. Загрузка файлов из Интернета Описываются методы класса WebClient. В частности на примере загрузки картинки и текстового файла из Интернета. 3. Как убрать значок выполняемого приложения из строки состояния Windows В статье расказывается как убрать значёк программы из строки состояния Windows. В Visual Basic.NET это очень просто. 4. Алгоритм Кнута-Морриса-Пратта При построении конечного автомата для поиска подстроки в тексте легко построить переходы из начального состояния в конечное принимающее состояние: эти переходы помечены символами подстроки. 5. Создание многопоточного приложения в VB.NET В Visual Basic 6 разработка многопоточных приложений была утомительной задачей - создание новых потоков порождало многочисленные ошибки. В VB.NET картина полностью изменилась, сейчас Вы имеете простоту и мощность Java во время работы с потоками. 6. Двойная буферизация Для пердотвращения мерцания при перерисовке изображения используют двойную буферизацию. Она обеспечивает построение изображения сначало в памяти. 7. Задание фонового рисунка его прорисовкой Фоновый рисунок можно создать, выведя его в контекст графического устройства формы, т. е. обработав событие Paint или реализовав метод OnPaintBackground. 8. Переопределение событий При расширении функциональных возможностей компонентов часто возникает необходимость переопределить события так, чтобы при их генерации происходилоне только выбрасывание соответствующего объекта. 9. Элемент управления FileSystemWatcher и отслеживание изменений файловой системы Элемент управления FileSystemWatcher является экземпляром класса FileSystemWatcher пространства имён System.IO. Он применяется для отслеживания изменений в файловой системе. 10. Определение IP-адреса компьютера Для определения IP-адреса компьютера необходимо воспользоваться классом IPHostEntry... |
Свежие компьютерные новости |
Создание пользовательского элемента управления на основе класса UserControl |
|
В Visual Basic.NET имеется класс UserControl пространства имен System.Windows.Forms, позволяющий создавать любые компоненты. В данной статье на примере конструирования элемента управления InputControl (блок ввода данных с проверкой) будет продемонстрировано, как такие компоненты создаются. Этот элемент предназначен для ввода имени и фамилии пользователя, которые устанавливаются или возвращаются свойствами FirstName и LastName. В элементе управления предусмотрена проверка того, остались ли какие-то данные не введенными. Кроме того, в элемент управления внедрен графический объект, имитирующий перемещающийся источник света. Итак, для того чтобы создать пользовательский элемент управления, выберите команду File | New | Project. На экране отобразится окно New Project. Выберете значок Windows Control Library из списка проектов и введите имя проекта, например InputControl в поле Name. Нажмите кнопку OK. В редакторе кода будет создан класс UserControl1, который расширяет класс UserControl. Класс UserControl инкапсулирует в себе методы, свойства и события, необходимые для работы с пользовательским элементом управления Public Class UserControl1
Inherits System.Windows.Forms.UserControl
Переименуйте класс UserControl1 в InputControl. Используя окно Solution Explorer, переименуйте также файл UserControl1.vb и InputControl.vb. С помощью панели инструментов ToolBox добавьте в проект надписи, два поля и таймер. Установите значения элементов управления в соответствии с таблицей.
Добавьте в модуль пользовательского элемента управления директиву импорта вспомогательного пространства имен Imports System.Drawing.Drawing2D а затем добавьте следующий код. Private m_FirstName As String
Private m_LastName As String
Private rnd As Random
Private Sub InputControl_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
SetMyBounds()
tmrAdd.Interval = 500
tmrAdd.Enabled = True
lblFirstName.TextAlign = ContentAlignment.MiddleLeft
lblLastName.TextAlign = ContentAlignment.MiddleLeft
End Sub
Private Sub InputControl_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize
SetMyBounds()
End Sub
Private Sub SetMyBounds()
Dim w, h As Integer
w = Me.Width : h = Me.Height
lblFirstName.SetBounds(w / 10, 0, 1 / 2 - w / 10, h / 2)
txtFirstName.SetBounds(w / 2, 0, w / 2, h / 2)
lblLastName.SetBounds(w / 10, h / 2, w / 2 - w / 10, h / 2)
txtLastName.SetBounds(w / 2, h / 2, w / 2, h / 2)
lblAdd.SetBounds(0, 0, w / 10, h)
End Sub
Public Property FirstName() As String
Get
m_FirstName = txtFirstName.Text
Return m_FirstName
End Get
Set(ByVal Value As String)
m_FirstName = Value
txtFirstName.Text = m_FirstName
End Set
End Property
Public Property LastName() As String
Get
m_LastName = txtLastName.Text
Return m_LastName
End Get
Set(ByVal Value As String)
m_LastName = Value
txtLastName.Text = m_LastName
End Set
End Property
Private Sub InputControl_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Validated
If txtFirstName.TextLength = 0 Then
MessageBox.Show("What about the First Name")
End If
If txtLastName.TextLength = 0 Then
MessageBox.Show("What about the Last Name")
End If
End Sub
Private Sub tmrAdd_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tmrAdd.Tick
lblAdd.Refresh()
End Sub
Private Sub lblAdd_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles lblAdd.Paint
Static a As Integer
Dim b As LinearGradientBrush = New LinearGradientBrush(New Rectangle(0, 0, lblAdd.Width, lblAdd.Height), Color.Red, Color.Yellow, a)
e.Graphics.FillEllipse(b, 0, 0, lblAdd.Width, lblAdd.Height)
a = (a + 10) Mod 360
End Sub
|
Книги с Озона |
Последнии статьи по Delphi |
Советую посетить |
|
Портал
для Delphi программиста - Быстро развивающийся портал о
программирование на языке Pascal/Delphi. Статьи, исходники, компоненты,
справочники, мануалы, FaQ, программы. |
Дружественные рассылки |
![]() |
Замечания и предложения отправляйте на E-Mail указанный ниже. С уважением Ковязин Дмитрий (admin@p-lib.pp.ru). |
| Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.visualbnet Архив рассылки |
Отписаться
Вебом
Почтой
Вспомнить пароль |
| В избранное | ||




