| |

VB.NET - Ein- und UmsteigerEine Gruppe von ComboBoxen steuern (RELOADED) | |  | Autor: Manfred X | Datum: 02.04.16 19:40 |
| Es war von einem Umsteiger gefragt worden,
wie folgende Aufgabe zu lösen sei:
Gegeben ist eine Gruppe von N-Comboboxen,
die an die gleiche String-Liste mit N-Einträgen gebunden sind.
Es soll erreicht werden, daß beim Wechsel des "SelectedIndex" einer
Box durch den User, durch geeignete Aktualisierung des "Selectedindex"
EINER anderen Box, wieder alle Listen-Einträge in den Boxen sichtbar sind.
Beispiel ...
Public Class frmCombos
'Gemeinsame Liste
Dim lst As New List(Of String)({"A", "B", "C", "D", "E"})
'Liste der Comboboxen
Dim cbs As New List(Of ComboBox)
Private Sub frmCombos_Load(sender As System.Object, _
e As System.EventArgs) Handles MyBase.Load
CreateCombos()
End Sub
Private Sub CreateCombos()
For i As Integer = 0 To lst.Count - 1
Dim bs As New BindingSource With {.DataSource = lst}
cbs.Add(New ComboBox With _
{.Parent = Me, .DataSource = bs, _
.Top = i * 40, .Name = i.ToString, _
.DropDownStyle = ComboBoxStyle.DropDown, _
.SelectedIndex = i, .Tag = i})
'Zuordnung der Eventhandler-Routine
AddHandler cbs(i).SelectedIndexChanged, _
AddressOf SelectedIndexChanged
Next i
End Sub
Private Sub SelectedIndexChanged(sender As Object, _
e As System.EventArgs)
Dim cbo As ComboBox = DirectCast(sender, ComboBox)
'Der Listen-Index der Box, deren Selectedindex
'vom Benutzer geändert worden ist
Dim comboindex As Integer = CInt(cbo.Name)
'In der Tag-Eigenschaft steht noch der bisherige
'Selectedindex
Dim oldindex As Integer = CInt(cbo.Tag)
For i As Integer = 0 To cbs.Count - 1
If Not i = comboindex AndAlso _
cbo.SelectedIndex = cbs(i).SelectedIndex Then
'Wechsel des SelectedIndex der Box,
'die den neu eingestellten Wert bisher angezeigt hat
cbs(i).SelectedIndex = oldindex
cbs(i).Tag = oldindex
End If
Next i
cbo.Tag = cbo.SelectedIndex
End Sub
End Class
Beitrag wurde zuletzt am 02.04.16 um 19:42:58 editiert. |  |
 Eine Gruppe von ComboBoxen steuern (RELOADED) | 1.266 | Manfred X | 02.04.16 19:40 |
 | 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 |
  |
|
Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
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
|
|