ComboBox w multiline

ComboBox w multiline
B1
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, chciałbym aby comboBox na formatce wyświetlany był z kilkoma liniami,
zmieniłem DrawMode na OwnerDrawVariable, oraz ItemHeight na 40.
Wprowadzam elementy tak jak poniżej,

Kopiuj
foreach(string adres in kdz.AdresKontrahent)
     cbAdres.Items.Add(adres);

W efekcie po rozwinięciu listy nic nie jest widoczne?
A w przypadku kliknięcia w pole comboBox'a zostaje załadowany element, w zależności w które miejsce kliknę.
Dodatkowo wprowadzany tekst "ul. Katowicka 13/13,\r\n32-149 Kraków" wyświetlane jest w jednej linii, a nie w kilku.

Wronq
  • Rejestracja: dni
  • Ostatnio: dni
0

Z tego, co wyczytałem i udało mi się na szybko zrobić multiline jest możliwy tylko na "rozwijanej liście" comboboxa, natomiast osiągnięcie tego efektu na tym "statycznym" elemencie CB jest trudne do zrealizowania. Fajnym pomysłem jest zakrycie tego labelem i ustawienie padding - lecz IMHO to troszkę laickie podejście (ale działa :D )
To, że poszczególne itemsy Ci się nie rysują jest spowodowane tym, że po ustawieniu DrawMode na OwnerDrawVariable musisz je odrysować sam poprzez podpięcie się pod eventy DrawItem i ew. chyba MeasureItem ( http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.drawitem.aspx ).

Pozdrawiam, Wronq!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.