Public Class TransparentCtrl
Inherits System.Windows.Forms.UserControl
Private WS_CLIPCHILDREN As Integer = &H2000000
Private WS_CLIPSIBLINGS As Integer = &H4000000
Private WS_EX_TRANSPARENT As Integer = &H20
#Region " Код сгенерированный дизайнером форм "
Public Sub New()
MyBase.New()
'Этот вызов необходим дизайнеру форм.
InitializeComponent()
'Добавте свой код инициализации после вызова InitializeComponent()
MyPreInit()
End Sub
Public Sub New(ByVal container As System.ComponentModel.IContainer)
'Этот вызов необходим дизайнеру форм.
InitializeComponent()
'Добавте свой код инициализации после вызова InitializeComponent()
MyPreInit()
container.Add(Me)
End Sub 'New
'Переопределение Dispose для очистки списка компонентов.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Необходимо для работы дизайнера форм
Private components As System.ComponentModel.IContainer
'ВНИМАНИЕ: следующий фрагмент необходим для дизайнера форм
'Для его модификации используйте дизайнер форм.
'Не изменяйте его в редакторе.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
#End Region
Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.Style = cp.Style And Not (WS_CLIPCHILDREN Or WS_CLIPSIBLINGS)
cp.ExStyle = cp.ExStyle Or WS_EX_TRANSPARENT
Return cp
End Get
End Property
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Dim g As Graphics = e.Graphics
Dim rc As Rectangle = ClientRectangle
rc.Width -= 10
rc.Height -= 10
g.DrawEllipse(New Pen(Color.Blue), rc)
End Sub
Sub MyPreInit()
SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.ResizeRedraw Or ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor Or ControlStyles.Opaque, True)
SetStyle(ControlStyles.DoubleBuffer, False)
End Sub 'MyPreInit
End Class
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 71