Also, kurzes Coding vor Feierabend:
1) Neues Projekt anlegen (oder bestehendes)
2) User Control hinzufügen
3) In das UserControl dieses Coding einbauen
Public Class OnOffButton
Private _Gedrueckt As Boolean = False
Public Event NewState(sender As Object, e As System.EventArgs)
Private Sub OnOffButton_Click(sender As Object, e As System.EventArgs) _
Handles Me.Click
Me._Gedrueckt = Not Me._Gedrueckt
Me.Invalidate()
Me.OnNewState(New System.EventArgs)
End Sub
Public Property Gedrueckt As Boolean
Get
Return Me._Gedrueckt
End Get
Set(value As Boolean)
If Me._Gedrueckt <> value Then
Me._Gedrueckt = value
Me.Invalidate()
Me.OnNewState(New System.EventArgs)
Else
End If
End Set
End Property
Private Sub OnOffButton_GotFocus(sender As Object, e As System.EventArgs) _
Handles Me.GotFocus
Me.Invalidate()
End Sub
Private Sub OnOffButton_LostFocus(sender As Object, e As System.EventArgs) _
Handles Me.LostFocus
Me.Invalidate()
End Sub
Private Sub OnOffButton_Paint(sender As Object, e As _
System.Windows.Forms.PaintEventArgs) Handles Me.Paint
System.Windows.Forms.ButtonRenderer.DrawButton _
(e.Graphics _
, New Rectangle(0, 0, Me.Size.Width, Me.Size.Height) _
, "Text" _
, Me.Font _
, Me.Focused _
, CType(IIf(Me._Gedrueckt, _
VisualStyles.PushButtonState.Pressed, _
VisualStyles.PushButtonState.Normal), _
VisualStyles.PushButtonState) _
)
End Sub
Protected Overridable Sub OnNewState(e As System.EventArgs)
RaiseEvent NewState(Me, e)
End Sub
End Class 4) ggf. Tastatursupport hinzufügen, tickt derzeit nur per Maus
5) z.B. Event schaffen welcher bei Statusänderung getriggert wird
6) Compile
7) OnOffButton auf Form bauen
8) Im Form Coding dann z.B. den den NEwState Event abfangen
Public Class Form1
Private Sub OnOffButton1_NewState(sender As Object, e As System.EventArgs) _
Handles OnOffButton1.NewState
Debug.Print(Me.OnOffButton1.Gedrueckt.ToString)
End Sub
End Class Hoffe mal, dieses Minicoding zeigt soweit den Ansatz, dass Du weiterkommst.
Gruß,
bauer
Beitrag wurde zuletzt am 13.12.11 um 17:08:02 editiert. |