Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет начинающим" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Создание пользовательского элемента управления на основе класса 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 Архив рассылки |
Отписаться
Вебом
Почтой
Вспомнить пароль |
В избранное | ||