Wie stellen Sie die ComboBox-Dropdown-Liste die Größe selbst zu passen das größte Element?
Habe ich eine DataGridView
mit einem ComboBox
dass es möglicherweise enthalten einige ziemlich große strings. Gibt es einen Weg, um die drop-down-Liste erweitern sich oder zumindest die wordwrap-strings, so kann der Benutzer sehen, die ganze Reihe ohne dass ich die Größe der ComboBox
Spaltenbreite?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist was ich getan habe um dieses Problem zu lösen, funktioniert Super...
DataSourceChanged
,ValueMemberChanged
undDisplayMemberChanged
Veranstaltungen statt-Eigenschaft ausblenden.OnDropDown
hinzufügen, um den Anruf, bevor es an die Ausführungbase.OnDropDown(e)
. Und btw, für das Finaleif >
überprüfen, speichern nur, dass die Breite in eine variable anstelle von aufrufen, die Berechnung zweimal.if (this.Items.Count * this.ItemHeight > this.DropDownHeight) widestStringInPixels += SystemInformation.VerticalScrollBarWidth;
Dies ist eine sehr elegante Lösung:
Anpassen, Kombinationsfeld, Dropdown-Liste Breite die längste Zeichenfolge Breite http://www.codeproject.com/KB/combobox/ComboBoxAutoWidth.aspx
Quelle:
Berechnung DropDownWidth ComboBox in C#
Nicht, dass ich weiß, obwohl einige Browser sind schlau genug, um zu erweitern die Breite der drop-down-Menü, außerhalb der box, wenn es erforderlich ist. Ich weiß, Firefox und Chrome können es tun, wenn Sie sind in der Lage zu kontrollieren, die Ihre Benutzer-Basis ein wenig.
Wenn Sie wirklich verzweifelt sind, wie etwa ein flash-basiertes Kombinationsfeld Veröffentlichung der Daten zurück zu html?