1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
'custom control herite de CheckBox
Imports System.ComponentModel
Public Class CustomControlCheck
Inherits CheckBox
'prop boolean
Private m_EnableClickCheck As Boolean = False
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)
'Ajoutez ici votre code de dessin personnalisé
If Me.CheckState = Windows.Forms.CheckState.Checked Then
'draw lumiere "on"
Dim cl As Rectangle = e.ClipRectangle
e.Graphics.DrawImageUnscaled(My.Resources.Unlock, Me.DisplayRectangle)
ElseIf Me.CheckState = Windows.Forms.CheckState.Unchecked Then
'draw lumiere "off"
e.Graphics.DrawImageUnscaled(My.Resources.Lock, Me.DisplayRectangle)
End If
End Sub
'overrides event click
Protected Overrides Sub OnClick(ByVal e As System.EventArgs)
If Me.m_EnableClickCheck Then 'activer le click
MyBase.OnClick(e)
End If
'desactiver le click car MyBase.OnClick(e)n'est pas appelee
End Sub
'pour etre visible dans l'inspecteur
<Browsable(True), Description("Active/Desactive le Click Check/Uncheck")> _
Public Property EnableClickCheck() As Boolean
Get
Return m_EnableClickCheck
End Get
Set(ByVal value As Boolean)
m_EnableClickCheck = value
End Set
End Property
End Class
'Forme de test
Public Class Form1
'bouton autorisation ou ce que tu veux comme gestion
Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
Me.CustomControlCheck1.EnableClickCheck = Not Me.CustomControlCheck1.EnableClickCheck
End Sub
End Class |