Announcement

Collapse
No announcement yet.

ComboBox Event bei Markierung eines neuen Wertes der Dropdown Leiste

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ComboBox Event bei Markierung eines neuen Wertes der Dropdown Leiste

    Hallo,
    ich weiß nicht, ob der Titel so gut gewählt ist, das Problem ist nicht so leicht zu beschreiben.

    Also, ich habe eine ComboBox und diese beinhaltet ein paar Werte.

    Nun würde ich ganz gerne ein Event auf diese ComboBox legen. Dieses Event soll aufgerufen werden, jedes Mal, wenn die Dropdown Liste der ComboBox geöffnet ist und mit der Maus ein anderer Wert selektiert wird. Bei der ComboBox ist es ja so, dass (auch wenn man den Wert aus der DropDown Liste noch nicht mit einem Mausklick bestätigt hat) eine blaue Markierung bei dem Wert erscheint, bei dem gerade der Mauszeiger ist. Und genau da sollte mein Event dann greifen, sprich also jedes Mal wenn die Markierung in der Dropdown Leiste einen anderen Wert selektiert.

    Ich habe schon viele EventHandlers der comboBox ausprobiert, allerdings greifen die meisten erst, nachdem ich mit Hilfe eines Mausklicks ein Element ausgewählt habe (z. b. SelectedIndexChanged).

    Ich hoffe ich konnte mein Problem einigermaßen klar beschreiben.

    Vielen Dank für eure Antworten.

    Mfg
    stash

  • #2
    Was willst Du denn machen, wenn jemand einen Eintrag markiert?

    Comment


    • #3
      hi,
      danke für deine Antwort.
      ich habe folgendes vor.

      die einträge aus der combobox stammen aus einer xml datei.
      diese xml datei hat auch noch weitere Informationen zu jedem eintrag (die sollen aber aufgrund der übersichtlichkeit nicht in der combobox eingetragen werden).

      sobald jetzt der nutzer mit der maus über einen eintrag in der combobox geht, also ein element aus der dropdown leiste der combobox markiert wird, soll über das Event der gerade markierte wert ausgelesen werden.

      mit dem wert kann ich dann in meinem xml die weiterführenden informationen zu diesem wert heraussuchen und diese in einem label dem nutzer anzeigen. der labelinhalt soll sich also schon während der auswahl ändern, nicht erst, wenn der nutzer eine auswahl getätigt hat.

      mfg

      Comment


      • #4
        Hm OK das klingt plausibel. Ist das Windows Forms oder WPF?

        Comment


        • #5
          Windows Forms

          Comment


          • #6
            Hmmm... ich hab grad auch mal herumgespielt, aber selbst mit GetChildAt() kommt man höchstens an das Control selbst heran. Ich hab so das Gefühl, dass das so nicht funktionieren wird. Ausser man baut ein eigenes Control. Aber ich denke dann löst mans doch lieber gleich irgendwie anders.

            Comment


            • #7
              Hallo,

              ich weiß nicht ob das funktioniert - das letze mal WinForms ist schon ein Zeit lang her - aber ein Verscuh wärs

              Per Datenbindung die Items in der ComboBox darstellen und auf die Ereignisse der Bindung zugrundeliegenden Collection reagieren. Falls diese keine entpsrechenden Ereignisse bietet muss halt selbst ein erstellt werden...

              Damit das funktioniert müsste
              • die ComboBox hier Bindung zulassen
              • die Collection für die Bindung entsprechende Ereignisse feuern



              mfG Gü
              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

              Comment


              • #8
                ja, das hab ich mir schon fast gedacht, dass es da nichts gibt.

                trotzdem danke für die mühe.

                mfg

                Comment


                • #9
                  Hallo,

                  ja, das hab ich mir schon fast gedacht, dass es da nichts gibt.
                  Siehe meine Antwort, falls du sie übersehen hast (da zeitgleich).


                  mfG Gü
                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                  Comment


                  • #10
                    Wenn er aber nur mit der Maus drüber geht, wird er wohl kaum auf der gebundenen Collection ein Event bekommen. Er will ja dass was passiert wer er mit der Maus über ein Item der ausgeklappten ComboBox fährt. Sehe ich die gebundene Collection eigentlich nicht in der Verantwortung sowas zu feuern

                    Hoch lebe WPF und DataTemplates

                    Comment


                    • #11
                      Hallo,

                      ah Hab überlesen dass er mit der Maus....


                      Hoch lebe WPF und DataTemplates
                      Ja!!! Da würde ich es so ähnlich machen wie beschrieben


                      mfG Gü
                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                      Comment


                      • #12
                        hi,
                        danke für die antworten. was meint ihr denn mit "dann würd ich es so ähnlich machen wie beschrieben".

                        ist dabei gemeint, dass ein eigenes control gebaut werden soll bzw. das ganze anders gelöst werden soll?

                        habt ihr da irgendwelche tipps für mich, wie ich das am besten bewerkstelligen kann.

                        mfg
                        stash

                        Comment


                        • #13
                          Ich würde sagen in Windows Forms geht's ohne großen Aufwand gar nicht. In WPF sieht die Sache etwas anders aus, denn dort kann man auch Controls in die Liste eines DropDowns packen (Stichwort: DataTemplates). Und wenn dort ein eigens gebautes Control steckt, dann kann man dort natürlich auch auf entsprechende Events reagieren

                          Comment

                          Working...
                          X