VB.NET. Создание компонентов Урок 11. Использование стандартного редактора для цвета
Свойства нашего компонента в окне Properties могут иметь редакторы разных типов. Как делать редакторы в виде комбобокса для перечисляемых свойств мы посмотрели в уроке 9. Сейчас же мы посмотрим, как добавить к компоненту редактор свойства, позволяющего задавать цвет.
Работать наше свойство будет естественным образом - а именно, после выбора цвета в нашем редакторе текст на нашем компоненте изменит цвет на соответствующий.
Сначала добавим в код нашего компонента свойство и поле типа Color:
Dim _myColor As Color
Public Property MyColor() As Color
Get
Return _myColor
End Get
Set(ByVal Value As Color)
_myColor = Value
Invalidate()
End Set
End Property
Собственно говоря, можно больше ничего в коде компонента не писать - стандартный редактора для цвета у нас появится автоматически. Но все же мы изменим еще код для изменения цвета нашей надписи:
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(_myColor), _
Me.Width / 2, Me.Height / 2)
End Sub
Наши изменения свелист к тому, что мы подставили переменную _myColor в конструктор SolidBrush для кисти.
А вот так наше свойство будет выглядеть в окне Properties:
Обратите внимание, что у появившегося редактора есть 3 вкладки (для Custom, Web И System).
На самом деле редактор для цвета (и другие стандартные редакторы) можно присоединять к любому свойству в окне Properties. Но об этом - на следующих уроках.
|