vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: CheckBox in ToolStrip 
Autor: Snoopy
Datum: 21.08.07 23:03

Hi...

über den ToolStripControlHost kannst Du (fast) alle Controls dem ToolStrip per Code
hinzufügen. Es geht aber auch direkt über den Designer, ist aber was aufwendiger.
Hier eine Klaase, die ich vor einiger Zeit mal gebastelt habe.
Imports System.Drawing
Imports System.ComponentModel
Imports System.Windows.Forms.Design
 
''' <summary>
''' ToolStripItem CheckBox
''' </summary>
<ToolStripItemDesignerAvailabilityAttribute( _
  ToolStripItemDesignerAvailability.ToolStrip _
Or ToolStripItemDesignerAvailability.StatusStrip)> _
Public Class ToolStripCheckBox
   Inherits ToolStripControlHost
 
   Public Event CheckedChanged As EventHandler
 
   Public Sub New()
      MyBase.New(New CheckBox())
   End Sub
 
   Public ReadOnly Property CheckBox() As CheckBox
      Get
         Return CType(Control, CheckBox)
      End Get
   End Property
 
   Public Property Checked() As Boolean
      Get
         Return CheckBox.Checked
      End Get
      Set(ByVal value As Boolean)
         CheckBox.Checked = value
      End Set
   End Property
 
   Public Property CheckState() As CheckState
      Get
         Return CheckBox.CheckState
      End Get
      Set(ByVal value As CheckState)
         CheckBox.CheckState = value
      End Set
   End Property
 
   Public Property CheckAlign() As ContentAlignment
      Get
         Return CheckBox.CheckAlign
      End Get
      Set(ByVal value As ContentAlignment)
         CheckBox.CheckAlign = value
      End Set
   End Property
 
   Public Property ThreeState() As Boolean
      Get
         Return CheckBox.ThreeState
      End Get
      Set(ByVal value As Boolean)
         CheckBox.ThreeState = value
      End Set
   End Property
 
   Protected Overrides Sub OnSubscribeControlEvents(ByVal control As Control)
      MyBase.OnSubscribeControlEvents(control)
      Dim chkControl As CheckBox = CType(control, CheckBox)
      chkControl.BackColor = Color.Transparent
      AddHandler chkControl.CheckedChanged, AddressOf CheckBox_CheckedChanged
   End Sub
 
   Protected Overrides Sub OnUnsubscribeControlEvents(ByVal control As Control)
      MyBase.OnUnsubscribeControlEvents(control)
      Dim chkControl As CheckBox = CType(control, CheckBox)
      RemoveHandler chkControl.CheckedChanged, AddressOf CheckBox_CheckedChanged
   End Sub
 
   Private Sub CheckBox_CheckedChanged(ByVal sender As Object, ByVal e As _
     EventArgs)
      RaiseEvent CheckedChanged(Me, e)
   End Sub
End Class
Einfach die Klaase deinem Projekt hinzufügen und dann das Projekt einmal neu erstellen.
Dann kannst Du aus dem Disigner des ToolStrips direkt die CheckBox einfügen.

Gruß

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
CheckBox in ToolStrip1.833zumbi21.08.07 21:28
Re: CheckBox in ToolStrip1.648TobiasS21.08.07 22:06
Re: CheckBox in ToolStrip1.564zumbi21.08.07 22:22
Re: CheckBox in ToolStrip3.458TobiasS21.08.07 22:51
Re: CheckBox in ToolStrip2.699Snoopy21.08.07 23:03
Re: CheckBox in ToolStrip1.643zumbi21.08.07 23:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel