Cómo realizar un ajuste automático de líneas del contenido del cuadro de lista en vb.net
No es imposible de implementar, solo que es un poco más complicado. Consulte el código a continuación para obtener más detalles. Sin embargo, cuando la visualización de texto requiere saltos de línea, etc., se recomienda utilizar RichTextBox para habilitar el atributo de solo lectura, que es más apropiado y sin preocupaciones. Private?Sub?AutoNextRow()
'Obtener texto de colección de filas de ListBox
Dim?length?As?Integer?=?(ListBox1.Items.Count?-?1) p> p>
¿Dim?items(length)?As?String?'Matriz de texto de línea
For?i?As?Integer?=?0?To?length
items (i)?=?ListBox1.Items(i).ToString
Siguiente
'Procesando saltos de línea de ListBox
ListBox1.Items.Clear() ?'Borrar contenido de fila
Usando?g?As?Graphics?=?Graphics.FromHwnd(ListBox1.Handle)
Dim?result?As?New?List(Of?Object )
p>
Dim?w?As?Single?=?ListBox1.ClientSize.Width
Dim?sf?As?SizeF,?str?As?StringBuilder
¿Para?Cada?s?Como?Cadena?En?elementos
str?=?Nuevo?StringBuilder
Para?i?Como?Integer?=? 0?To?(s.Length ?-?1)
sf?=?g.MeasureString(str.ToString?amp;?s(i),?ListBox1.Font)?
If?sf.Width ?gt;?w?Then
result.Add(str.ToString)
str?=?New?StringBuilder
Fin?Si
str.Append(s(i))
Si?i?=?s.Length?-?1?Then?result.Add(str.ToString )
Siguiente
Siguiente
ListBox1.Items.AddRange(result.ToArray)?'Rellenar contenido de fila
¿Fin?Usando
¿Fin? Sub