ComboBox w multiline

ComboBox w multiline
B1
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 9 lat
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:około 17 lat
  • Ostatnio:prawie 11 lat
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!


Some people see things as they are, and say "why?". I dream things that never were and say "why not?".

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.