2008-10-03 6 views
5

Ich habe eine WinForms-Anwendung mit einer Ansicht, in der der Benutzer eine einzelne Zeitspanne aus einer Liste vordefinierter Zeitspannen in einer ComboBox auswählt, wobei die DropDownStyle-Eigenschaft auf DropDownList festgelegt ist.Wie behandeln Sie die Mehrfachauswahl in einem Dropdown-Stilsteuerelement?

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

Ist es möglich, mehrere Auswahlen in einer ComboBox vorzunehmen? Wie präsentieren Sie diese Auswahlmöglichkeiten, wenn die ComboBox minimiert ist? Vergessen Sie nicht den Usability-Aspekt.

Existiert ein anderes Steuerelement (eingebaut oder Drittanbieter, vorzugsweise ein Dropdown-Element), das den Anforderungen meiner Benutzer entsprechen kann?

Update: Irreführende Titel ...

Antwort

6

Ich stimme mit @Thomas Owens zum Usability-Aspekt überein. Wenn Sie mehrere Elemente auswählen, sollte der Benutzer alle ausgewählten Elemente sehen können. Vielleicht funktioniert ein Checklisten-Feld dafür.

Wenn Sie immer noch mit einem Drop-Down-Steuerelement arbeiten möchten, werfen Sie einen Blick auf das DevExpress-Editor-Toolkit. Ich habe gerade ihre Demo durchgesehen und es gibt ein Steuerelement namens PopupContainerEdit, mit dem Sie eine Liste von Elementen mit Kontrollkästchen öffnen können. Wenn das Popup ausgeblendet wird, können Sie die Elemente immer als Koma-getrennte Liste anzeigen. (Dies kann jedoch unbrauchbar sein, wenn die Liste länger als die Box ist)

+0

Danke, ich werde mir den PopupContainerEdit ansehen. –

+0

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

5

Selbst wenn es möglich ist, würde ich vorschlagen, den Eingabetyp ändern. Wenn ich eine Drop-Down-Box sehe, denke ich, dass ich eine auswählen muss. Die Möglichkeit, mehrere Optionen auszuwählen (und sogar zu wählen), könnte Ihrem Benutzer entgehen. Ein Standard-Listenfeld könnte aus Usability-Sicht geeigneter sein.

+0

Absolut. Problem ist, ich habe begrenzten vertikalen Raum ... –

2

Ich denke nicht, dass es aus der Box möglich ist, ohne eine Reihe von benutzerdefinierten Code zu schreiben.

Ich würde mit Thomas zustimmen müssen, außer würde sogar vorschlagen, möglicherweise eine checkedlistbox, als imo, es ist klarer, dass mehrere Auswahlen vorgenommen werden sollen als eine List-Box (und Sie brauchen keine Hilfe Text sagen zu multi auswählen , verwenden Sie ctrl)

+0

Einverstanden. Und eine Menge benutzerdefinierten Code schreiben ... wird nicht passieren. –

0

Die Windows.Forms.ComboBox kann keine Mehrfachauswahl bereitstellen.

1

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

+0

Ein CheckedComboBox wäre noch besser, aber leider ... –

0

Sie suchen nach ListBox.

+0

Nein, bin ich nicht. Hat nicht genügend vertikalen Raum ... –

Verwandte Themen