Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo realizar un ajuste automático de líneas del contenido del cuadro de lista en vb.net

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>

¿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