Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

ComboBox?

Helgeauskiel / 3 Antworten / Baumansicht Nickles

ich habe eine combobox gemacht aber wie kann ich jetzt mach das wenn ich dort xyz auswähle das dann ein bestimmter code ausgeführt wird?

bei Antwort benachrichtigen
Borlander Helgeauskiel „ComboBox?“
Optionen

Die wichtigeste Frage dabei:
Mit welcher Entwicklungsumgebung arbeitetest Du überhaupt?

Grundsätzlich wird das aber etwa so ablaufen:

  1. Du weist dem Ereignis/Event das bei der Auswahl eines Listenelementes (wird OnSelect oder ähnlich heißen) auftitt eine Ereignisbehandlungsroutine / einen Event-Handler zu
  2. Dort verzeigst Du mit switch oder einem vergleichbaren Sprachkonstrukt (IF ist für dafür i.d.R. nur wenig sinnvoll)...


Gruß
Borlander
bei Antwort benachrichtigen
Sovereign Sylvia Helgeauskiel „ComboBox?“
Optionen

Hi,

dein Problem mit der ComboBox ist einfach zu lösen.
Die ComboBox hat Events, wie andere Conrols auch.
Die Events, die du benötigst, sind das Click (Private Sub Combo1_Click)- und/oder
das Change-Event (Private Sub Combo1_Change).
Wenn du noch kein Event-Code auf deiner Form hast und du doppel-clickst die
ComboBox, wird das Change-Event eingefügt (weil es das erste der Event-Liste ist).
Das Change-Event mach aber nur dann Sinn, wenn die Eigenschaft "Style" auf
"0 - Dropdown-Kombinationsfeld" gesetzt ist, weil mann nur dann in der ComboBox Text
eintippen kann.

Bei der "Style"-Eigenschaft "2 - Dropdown-Liste" ist das Click-Event am sinnvollsten.

Für beide Eigenschaften gilt: Das ausgewählte Listenelement lässt sich über die "Text"-
oder die ListIndex-Eigenschaft abfragen:
If Me.Combo1.Text = "xyz" Then oder If Me.Combo1.ListIndex = 1 Then
Unterhalb der If-Zeile dann den Code eingeben, der ausgeführt werden soll bzw. den Namen der Prozedur.
Am Ende "End If" nicht vergessen.

Die Abfrage nach Text kann dort geschehen, wo man die ComboBox immer mit der gleichen
Anzahl von Einträgen mit immer den gleichen Texten füllt.

Bei der Abfrage mittels des Indexes muss man bedenken, dass die Index-Zählung mit 0 beginnt
(= oberster Eintrag der Liste). Der höchste Index ist also immer Anzahl der Einträge minus 1.

Bei der "Style"-Eigenschaft "0 - Dropdown-Kombinationsfeld", bei der man ja Text eintippen kann,
bekommt diese Zeile den Index -1.

Den Index kann man nicht nur abfragen, sondern auch setzen (ausser Index -1): Me.Combo1.ListIndex = 1
Aber Vorsicht ! Dies löst den Click-Event aus !

Hat dir das geholfen ?

Sonst kannst du dich bei SG@SGSiS.de melden.

Gruss

Sovereign Sylvia

Mein sz streikt heute wieder ------ Nobody is perfect, and we prove it every day.
bei Antwort benachrichtigen
Borlander Sovereign Sylvia „ComboBox?“
Optionen

Wie kommst Du dadrauf das ice-breaker VB einsetzt?
Oder hab ich da was überlesen?

bei Antwort benachrichtigen