Ich habe eine Spalte in einem DataGridView mit dem Spaltentyp DataGridViewComboBoxColumn. In diesem Kombinationsfeld habe ich mehrere Strings unterschiedlicher Länge. Einige dieser Zeichenfolgen können von den Benutzern in den Anwendungseinstellungen geändert werden. Es sieht etwa so aus:Wie kann ich eine Spalte in einem DataGridView erhalten, um den Inhalt einer Combobox automatisch anzupassen?
Die Spalte Auto-Size-Optionen, wie AllCells, arbeitet gut mit DataGridViewTextBoxColumns. Aber sie funktionieren nicht wie erwartet mit Kombinationsfeldern.
Wie kann ich die Breite dieser Spalte auf den Inhalt eines Kombinationsfelds anpassen?
Lassen Sie mich wissen, wenn Sie Fragen über die Antwort haben :) –
'TextRenderer' war der Name der Klasse I fehlte. Das ist ein guter Weg, dies zu tun. Aber es ist nicht vollständig! Es ignoriert den Dropdown-Pfeil und einige interne Auffüllung. Durch Versuch und Irrtum stellte ich fest, dass meine speziellen Anzeigeeinstellungen (Schriftgröße 14, alle anderen Standardwerte) zusätzliche 22 Pixel für das Auffüllen erfordern. Das reicht für dieses Projekt! – kvermeer
Ja, möglicherweise müssen Sie zusätzliche Leerzeichen hinzufügen, z. B. Füllzeichen usw. Weitere Informationen finden Sie unter ['DisplayStyleForCurrentCellOnly'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcomboboxcolumn. displaystyleforcurrentcellonly (v = vs.110) .aspx) -Eigenschaft für Spalte. Sie gibt an, ob der Wert der Eigenschaft "DisplayStyle" nur für die aktuelle Zelle im Steuerelement "DataGridView" gilt, wenn sich die aktuelle Zelle in dieser Spalte befindet. –