login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Meerdere comboboxes...

Offline Secret - 30/05/2008 17:20 (laatste wijziging 30/05/2008 18:17)
Avatar van SecretNieuw lid Ik vul m'n comboboxes met deze code. Ik heb er 12 die moeten gedaan worden, kan dit vlugger met een for loop? Maar hoe moet ik de code dan aanpassen zodat het programma weet de hoeveelste combobox het is...

  1. With cmbQcFactorStep1
  2. .AddItem "mvar"
  3. .AddItem "var"
  4. .AddItem "kvar"
  5. .AddItem "Mvar"
  6. End With

Alvast vriendelijk bedankt...

6 antwoorden

Gesponsorde links
Offline Abbas - 30/05/2008 17:52
Avatar van Abbas Gouden medaille

Crew .NET
  1. Dim items() As String = {"mvar", "var", "..."}
  2. For Each item As String In items
  3. uwComboBox.Items.Add(item)
  4. Next
Wat bedoel je met "hoeveelste combobox"?
Offline Secret - 30/05/2008 18:02 (laatste wijziging 30/05/2008 18:17)
Avatar van Secret Nieuw lid Iets in de zin van:

  1. For [u]nummervancombobox[/u] = 1 to 12
  2. With cmbQcFactorStep [u]nummervancombobox[/u]
  3. .AddItem "mvar"
  4. .AddItem "var"
  5. .AddItem "kvar"
  6. .AddItem "Mvar"
  7. End With
  8. next


Zodat de 12 boxen gevuld worden ineens...

Bedankt voor je reactie!
Offline Abbas - 30/05/2008 18:16 (laatste wijziging 30/05/2008 18:17)
Avatar van Abbas Gouden medaille

Crew .NET
  1. 'Array van items aanmaken
  2. Dim items() As String = {"mvar", "var", "..."}
  3. 'Loopen en zoeken naar elke Combobox in de ControlCollection van je Form
  4. For Each box As ComboBox In Me.Controls
  5. 'Elke item uit de array in de huidige combobox plaatsen
  6. For Each i As String In items
  7. box.Items.Add(i)
  8. Next
  9. Next

Nu moet je niet weten hoeveel er zijn, hij gaat elke combobox vullen met die items.
PS: gebruik eens codetags als je stukjes code plaatst! 
Offline Secret - 30/05/2008 18:29
Avatar van Secret Nieuw lid Dankje, ik zal erop letten dat ik in het vervolg tags gebruik...

Ok, en wat als ik niet elke combobox gevuld wil met die waarden?  
Offline Abbas - 30/05/2008 18:35
Avatar van Abbas Gouden medaille

Crew .NET
Ik heb de code een beetje aangepast (kijk in de eerste For Each regel). Hierin zoekt hij in de controls alleen naar Comboboxen, met de andere code zal je een InvalidCastException krijgen als je ook Controls hebt zoals een Button en dergelijke.
  1. Dim items() As String = {"mvar", "var", "..."}
  2. For Each box As ComboBox In Me.Controls.OfType(Of ComboBox)()
  3. For Each i As String In items
  4. box.Items.Add(i)
  5. Next
  6. Next

Als je wil dat een bepaalde ComboBox niet gevuld wordt, gebruik je onder die eerste For Each een If-statment ofzo om die eruit te filteren.
Offline Secret - 30/05/2008 18:42
Avatar van Secret Nieuw lid Ok vriendelijk bedankt voor de info, ik zie wel hoe ver ik het krijg...

Groetjes...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.199s