vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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 - Fortgeschrittene
UserControls Events 
Autor: F.MUE.KS
Datum: 16.05.06 09:23

Halli Hallo

Ich Möchte eine Art Menuebar mit 4 großen Knöpfen bauen.
Dazu habe ich eine Klasse mit dem Namen Navigation erzeugt.
Diese Klasse erbt die Elmente der Control Klasse.

Desweiteren habe ich eine NavigatorButton Klasse erzeugt die wiederum die Elemente der Control Klasse erbt. Die NavigatrorButton Klasse stellt nur einen optisch veränderten Button dar der die zusätzliche Eigenschaft selected besitzt.

Ich füge nun 4 verschiedene Navigatorbutton dem Steuerelement Navigation hinzu.

Dazu exestiert in der Navigation Klasse folgende Funktion :
    Friend Sub ADD(ByVal Button As NavigatorButton)
 
        Me.Controls.Add(Button)
        Me.Buttons.Add(Button)
 
        If Button.Selected = True Then Me.SelectedButton = Button
 
        ' Nachdem nun ein Button in die Auflistung hinzu gekommen ist,
        ' wird nun die Anzahl der Buttons ermittelt.
        ' Anschliessend wird die breite der buttons berechnet
        ' und die Button werden neu positioniert
 
        ButtonPositionieren()
    End Sub
 
    Private Sub ButtonPositionieren()
 
        Dim Anzahl As Integer = Buttons.Count
 
        Dim Breite As Integer
        Breite = Me.ClientRectangle.Width
 
        Dim ButtonBreite As Integer
        ButtonBreite = Breite / Anzahl
 
        Dim x As Integer = 0
 
 
        For Each _b As NavigatorButton In Buttons
 
            _b.Location = New Drawing.Point(x, 0)
            _b.Size = New Drawing.Size(ButtonBreite, Me.ClientRectangle.Height)
 
            AddHandler _b.MouseDown, AddressOf selektieren
 
            x += ButtonBreite
        Next
 
    End Sub
Dem Steuerelement wird der Button mittels me.Controls.add hinzugefügt.
Desweiteren wird in dem listArray Buttons der Button als Referenz mit hinzugefügt.
In dem Object SelectedButton wird der Button gespeichert der beim übergeben die eigenschaft auf Selected gesetzt hat.

Nun zu meinen Problem. Ich möchte den Button auf den gecklickt wird die Hintergrundfarbe einfärben.
Dazu verwende ich folgende Funktion :
  Private Sub selektieren(ByVal sender As Object, ByVal e As _
    System.Windows.Forms.MouseEventArgs)
 
        ' Nun den Selektierten Button abwählen
        Me.SelectedButton.Selected = False
 
        ' Den aktuellen button auswählen
        CType(sender, NavigatorButton).Selected = True
        Me.SelectedButton = CType(sender, NavigatorButton)
 
    End Sub
Das Funktioniert alles wunderbar.
Ich möchte Nun aber auch, wenn ich die Buttons hinzufüge auf diese
zugreifen können und beim klicken ein Event auslösen.
das habe ich folgendermaßen versucht löst aber ein Fehler aus.
Friend WithEvent Route as NavigatorButton
 
        Me.Route = New NavigatorButton
        Me.Route.ButtonText = "Route"
        Me.Route.LineColor = Drawing.Color.Red
        Me.RamonNavigation1.ADD(Me.Route)
Ich gehe davon aus das es daran liegt, das ich 2 mal auf den gleichen Event zugreife.

Kann mir einer weiterhelfen ???
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
UserControls Events883F.MUE.KS16.05.06 09:23
Re: UserControls Events551spike2416.05.06 09:29
Re: UserControls Events680F.MUE.KS16.05.06 09:41
Re: UserControls Events599spike2416.05.06 10:52
Re: UserControls Events592F.MUE.KS16.05.06 11:39

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