Ehm, umm, questo significa che alcune linee devono essere a due facce. Il mio capo pensa che questo è la soluzione più semplice, al limite di visualizzazione del testo per adattare la larghezza e non mi piace barra di scorrimento orizzontale> _ <Winform Elementi ListBox DotNet a capo a capo se la larghezza della stringa del contenuto è maggiore della larghezza ListBox?
risposta
lst.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
lst.MeasureItem += lst_MeasureItem;
lst.DrawItem += lst_DrawItem;
private void lst_MeasureItem(object sender, MeasureItemEventArgs e)
{
e.ItemHeight = (int)e.Graphics.MeasureString(lst.Items[e.Index].ToString(), lst.Font, lst.Width).Height;
}
private void lst_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
e.Graphics.DrawString(lst.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
}
Partenza questa risposta. Sostituisce il modello della listbox con un blocco di testo che racchiude il testo. Spero sia utile Per risolvere il tuo problema penso che dovresti aggiungere: ScrollViewer.HorizontalScrollBarVisibility = "Disabled". Trovato here
Grazie, ma io uso i moduli di vittoria :( – Kosmos
private void lst_MeasureItem(object sender, MeasureItemEventArgs e)
{
e.ItemHeight = (int)e.Graphics.MeasureString(lst.Items[e.Index].ToString(), lst.Font, lst.Width).Height;
}
private void lst_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
e.Graphics.DrawString(lst.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
}
Per ottenere il membro display destro di presentarsi quando l'associazione di dati, sostituire
lst.Items[e.Index].ToString()
con una versione fusa della proprietà. Quindi, se la vostra fonte di legame è oggetto classe auto sarebbe sembrare
((Car)lst.Items[e.Index]).YourDisplayProperty
Poi le funzioni di cui sopra possono opportunamente misurare la corda e disegnarlo. :)
Per rendere corretto il collegamento, assicurarsi di aggiungere il controllo "lst.Items.Count> 0" alla funzione lst_MeasureItem. Ecco il mio esempio:
if (lst.Items.Count > 0)
{
e.ItemHeight = (int)e.Graphics.MeasureString(lst.Items[e.Index].ToString(), lst.Font, lst.Width).Height;
}
Tutto il resto sembra funzionare bene dopo.
- 1. Estendi oggetti ListBox per colpire l'area a tutta larghezza del ListBox? Lo stile ListBox è implicito in un tema
- 2. Barra di navigazione lista larghezza di navigazione - contenuto a capo
- 3. Reindirizzare l'output della console alle winform ListBox
- 4. Elemento della casella di riepilogo che si estende alla larghezza della listbox MA non oltre la larghezza
- 5. ListBoxItem HorizontalContentAlignment da estendere su tutta la larghezza di ListBox
- 6. Zend_Pdf calcolo della lunghezza della stringa di testo nel carattere corrente per il ritorno a capo
- 7. Come sapere se la larghezza della vista è maggiore della sua altezza utilizzando una mediaquery
- 8. extjs4 come impostare automaticamente la larghezza della colonna della griglia alla larghezza massima del contenuto?
- 9. Modifica del contenuto della listbox attualmente visualizzata in urwid/python2.6
- 10. wpf Larghezza colonne Datagrid non riuscite in ListBox
- 11. Come associare il dizionario a ListBox in winform
- 12. Modifica del comportamento del ritorno a capo
- 13. WPF: WrapPanel in ItemsPanelTemplate espande larghezza elenco
- 14. La larghezza del 100% è maggiore del div del genitore
- 15. Come ottenere o calcolare la larghezza effettiva di ListBox senza Vertical Scrollbar se visibile
- 16. Testo a capo in PIL
- 17. Uso della larghezza e della larghezza minima
- 18. La "larghezza" è applicabile a una textarea?
- 19. Regex per la rimozione di ritorni a capo e finali e ritorni a capo da una frase
- 20. Come aggiungere elementi a GWT ListBox nel modello Uibinder .ui.xml?
- 21. iCal4j e ritorni a capo
- 22. DrawText Android incluso il testo a capo
- 23. Animazione di elementi aggiunti a un database ListBox
- 24. A capo automatico in Gvim
- 25. Testo a capo all'interno dell'elemento
- 26. Ridimensionamento automatico della larghezza del contenuto di UITableViewCell
- 27. Imposta la larghezza della lista a cascata di kendo ui
- 28. JTextArea ridimensionamento a capo di parole
- 29. WPF ListBox Wrapping
- 30. Email HTML nella larghezza della tabella di Outlook - il contenuto è più largo della larghezza della tabella specificata
Sembra un po 'complicato ma funziona come un fascino –
Love it. Una cosa minore però. Quando registro una classe personalizzata, il DisplayMember viene cancellato e non riesco a sembrare Qualsiasi suggerimento? –
@BillSambrone - Mi spiace, ma non uso il database e non incontro mai lo stesso problema e non so come risolvere – Kosmos