| |

VB.NET - Ein- und UmsteigerVisual Studio 2010: Mehrere Steuerelemente auf einmal ansprechen | |  | Autor: Fes | Datum: 06.02.11 17:36 |
| Erstmal ein freundliches Hallo von mir als Neuling.
Habe diese Frage schon in einem anderen Forum gestellt, aber keinerlei Antwort bekommen.
Hier wie dort hoffe ich, ich nerve niemanden mit (tatsächlich oder vermeintlich) blöden Fragen.
Zur Sache:
Ich hab vor kurzem angefangen, mich ein wenig mit Programmierung zu beschäftigen.
Jetzt bin ich gerade, vor allem für Übungszwecke, dabei, einen Charaktereditor für ein wenig bekanntes Rollenspiel zu schreiben.
Dabei habe ich zwar schon eine recht genau Vorstellung, was ich wie machen möchte, bzw. wie das Programm bestimmte Dinge handhaben soll, bin technisch aber noch ein totaler Anfänger.
Meine aktuelle Problemstellung:
Ich habe mehrere ComboBoxen, mit denen ich jeweils folgendes machen möchte:
- Sie mit einer Liste von Wörtern (den Bezeichnungen für die Fertigkeiten) füllen
- Festlegen, daß beim Ändern des "SelectedItem" eben dieses ausgewählte Item einem vorher definierten Array zugewiesen wird
Diese beiden Dinge bekomme ich mittlerweile schon hin, nur möchte ich sie ungern für jede ComboBox einzeln beschreiben.
Es wäre äusserst angenehm, wenn ich einfach sagen könnte "Führe diese Aktionen für alle ComboBoxen durch", also sowas schreiben könnte wie "for i = 0 To 50 ComboBox(i).Items.Add".
Geht aber nicht, weil ComboBox ein Type ist.
Jetzt habe ich mir klug gedacht "Ha, mach ich das doch einfach über ein Array!":
Dim CBArray As New ArrayList()
CBArray(0) = ComboBox1
Dim i As Integer
For i = 0 To 50
CBArray(0).Items.Add(PrimFertigkeiten(i))
Next i Da wirft er mir keine Fehlermeldung aus, es geht aber trotzdem nicht.
Im Internet bin ich dann auf eine andere Lösungsmöglichkeit gestoßen:
Dim ctl As Control
For Each ctl In Controls
If Name.Contains("ComboBox") Then
Dim i As Integer
For i = 0 To 50
ctl.Items.Add = PrimFertigkeiten(i)
Next
End If Das heißt - das ist meine Version, wie ich mir das eigentlich vorgestellt hatte.
Dummerweise funktioniert das so nicht, da Controls leider kein "Items" kennt.
Im Ganzen soll der Charaktereditor eine Menge an ComboBoxen und Up-Down-Elementen und Textboxen enthalten, und es wäre echt mühselig, wenn ich da jeweils pro Element den jeweils gleichen Code neu eingeben müsste.
Ich hatte auch daran gedacht, es so einzurichten, daß ich mit nur einer ComboBox anfange, und einfach eine neue mit den gleichen Eigenschaften darunter erschaffen wird, sobald in der ersten ComboBox ein Eintrag ausgewählt wurde.
Hier könnte ich das dann doch gar nicht mehr individuell handhaben, sondern bräuchte irgendeine automatische Indizierung der jeweiligen Elemente?
Im Internet bin ich halt bisher nicht fündig geworden, was vielleicht auch daran liegt, daß ich nicht so ganz weiß, nach was für einem Stichwort ich eigentlich suchen soll.
Hat da also jemand Rat für mich, entweder einen Verweis auf einen Thread oder eine Webseite der/die das Thema behandelt, oder eine eigene Idee, oder vielleicht sogar einen Tipp, wie ich das grundsätzlich aufziehen könnte, um mir im Einzelnen Arbeit zu ersparen?
PS: Nachdem ich nochmal weitergeschaut habe und noch was anderes versucht habe, bin ich immer noch nicht weiter.
Zur Zeit habe ich die Elemente in einem Layouttable, deshalb hatte ich versucht, eben dieses anzusprechen, und nebenbei noch den Typ der Variable auf ComboBox geändert, damit ich dort auch auf die Items zugreifen kann:
For Each CBox As ComboBox In TableLayoutPanel1.Controls
Dim Index As Integer
For Index = 0 To 50
CBox.Items.Add(PrimFertigkeiten(Index))
Next Index
Next CBox Er macht es aber immer noch nicht, ohne Fehlermeldung.
Bitte bitte Hilfe!  |  |
 | 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! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... 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
|
|