7 Stimmen

Wie behandelt man eine Mehrfachauswahl in einem Dropdown-Steuerelement?

Ich habe eine WinForms-Anwendung mit einer Ansicht, wo der Benutzer eine einzelne Zeitspanne aus einer Liste von vordefinierten Zeitspannen in einer ComboBox auswählt, mit es DropDownStyle-Eigenschaft auf DropDownList festgelegt.

Jetzt haben sich die Anforderungen geändert. Die Benutzer müssen die Möglichkeit haben, aus der Liste der Zeitspannen eine Mehrfachauswahl zu treffen.

Ist es möglich, in einer ComboBox mehrere Auswahlen zu treffen? Wie werden diese Auswahlmöglichkeiten dargestellt, wenn die ComboBox zugeklappt ist? Vergessen Sie nicht den Aspekt der Benutzerfreundlichkeit.

Gibt es ein anderes Steuerelement (eingebaut oder von einem Drittanbieter, vorzugsweise ein Dropdown einer Art), die für meine Benutzer Bedürfnisse bieten kann?

Aktualisierung: Irreführender Titel...

6voto

FryHard Punkte 10049

Ich stimme @Thomas Owens zu, was den Aspekt der Benutzerfreundlichkeit angeht. Wenn Sie mehrere Elemente auswählen, sollte der Benutzer in der Lage sein, alle ausgewählten Elemente zu sehen. Vielleicht ist ein Listenfeld mit Häkchen dafür geeignet.

Wenn Sie immer noch ein Dropdown-Steuerelement verwenden möchten, werfen Sie einen Blick auf das DevExpress-Editor-Toolkit. Ich habe mir gerade deren Demo angesehen und es gibt ein Steuerelement namens PopupContainerEdit die es Ihnen ermöglicht, eine Liste von Elementen mit Kontrollkästchen zu öffnen. Wenn das Popup kollabiert, können Sie die Elemente immer als durch Koma getrennte Liste anzeigen. (obwohl dies unbrauchbar sein kann, wenn die Liste länger als das Feld ist)

0 Stimmen

Danke, ich werde mir den PopupContainerEdit ansehen.

0 Stimmen

Nicht die Antwort, die ich gesucht habe, aber immer noch die beste. Danke für den Link.

5voto

Thomas Owens Punkte 110966

Selbst wenn dies möglich ist, würde ich vorschlagen, den Eingabetyp zu ändern. Wenn ich ein Dropdown-Feld sehe, denke ich, dass ich eine Option auswählen muss. Die Möglichkeit (und sogar die Art und Weise), mehrere Optionen auszuwählen, könnte Ihrem Benutzer entgehen. Ein Standard-Listenfeld wäre vom Standpunkt der Benutzerfreundlichkeit aus vielleicht besser geeignet.

2voto

mattlant Punkte 15146

Ich glaube nicht, dass es möglich ist, ohne ein Bündel von benutzerdefiniertem Code zu schreiben.

Ich würde Thomas zustimmen müssen, außer würde sogar vorschlagen, möglicherweise ein Kontrollkästchen zu verwenden, da es imo klarer ist, dass Mehrfachauswahlen getroffen werden sollen als ein Listenfeld (und Sie brauchen keinen Hilfetext, der besagt, dass Sie für die Mehrfachauswahl Strg verwenden müssen).

0 Stimmen

Einverstanden. Und einen Haufen benutzerdefinierten Code zu schreiben... wird nicht passieren.

1voto

Mil Punkte 706

Ich würde stattdessen die CheckedListBox verwenden. Sie visualisiert die Mehrfachauswahl und Sie können mehrere Einträge auswählen. Hier ist der Microsoft-Link zur Klasse.

0voto

Phil Wright Punkte 22034

Die Windows.Forms.ComboBox bietet keine Mehrfachauswahl.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X