Т.е. надо самому все отрисовать, прописать все свойства и создать события.
Суть контрола такова:
надо чтобы это была ячейка для таблицы Менделеева. Информацию пропишу потом DrawString`ом.
Застрял я еще раньше. Надо чтоб на заднем фоне был градиент с заданными цветами. Вот о них и свойства.
И вот этот код почему-то не работает.
- Код: Выделить всё
Imports System.Drawing.Drawing2D
Public Class ChemElemCell
Inherits System.Windows.Forms.UserControl
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
'по умолчанию этот стиль отлючен (не происходит событие OnPaint)
'включаем его
Me.SetStyle(ControlStyles.UserPaint, True)
End Sub
Dim gr As Graphics = Me.CreateGraphics
Private cv1, cv2 As Color
Private t1 As New Point(0, 0), t2 As New Point(Me.Width, Me.Height)
Private grad As New LinearGradientBrush(t1, t2, cv1, cv2)
Private recGr As New Rectangle(0, 0, Me.Width, Me.Height)
Public Property cvet1() As Color
Get
Return cv1
End Get
Set(ByVal Value As Color)
cv1 = Value
End Set
End Property
Public Property cvet2() As Color
Get
Return cv2
End Get
Set(ByVal Value As Color)
cv2 = Value
End Set
End Property
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
gr.FillRectangle(grad, recGr)
End Sub
End Class
Что здесь не так? Спасибо!