• Domingo 22 de Diciembre de 2024, 03:53

Autor Tema:  Imprimir contenido TextBox en dos lineas  (Leído 2777 veces)

mexican2

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Imprimir contenido TextBox en dos lineas
« en: Viernes 9 de Noviembre de 2012, 04:57 »
0
Hola, Saludo
Tengo este codigo que me funciona un 99%
Código: vb.net
  1. Dim cadena As String = txtNombre.Text
  2. Dim parte1 As String
  3. Dim parte2 As String
  4.         If cadena.Length > 75 Then
  5.             parte1 = cadena.Substring(0, 75)
  6.             parte2 = cadena.Substring(75)
  7.                 'pone cada parte para imprimir
  8.             e.Graphics.DrawString(parte1, prFont, Brushes.Black, 28, 127)
  9.             e.Graphics.DrawString(parte2, prFont, Brushes.Black, 28, 142)
  10.         Else
  11.                  'aqui pone la linea completa si es menor de 75 caracteres para imprimir
  12.             e.Graphics.DrawString(txtNombre.Text, prFont, Brushes.Black, 28, 127)
  13.         End If
  14.  
Solo hay un problema, en el caracter 75 me parte la palabra bruscamente
lo correcto seria que la dividiera cuando encuentre un espacio entre palabras, proximo a los 75 caracteres

DiabloRojo

  • Miembro MUY activo
  • ***
  • Mensajes: 220
    • Ver Perfil
Re:Imprimir contenido TextBox en dos lineas
« Respuesta #1 en: Viernes 9 de Noviembre de 2012, 06:52 »
0
Qué tal mexican2.

Creo que tu mismo contestaste tu pregunta. Substring funciona exactamente así (corta bruscamente). Te toca a ti evaluar si el caracter 75 es un espacio en blanco o no y en función de eso devolver hasta el espacio anterior.

mexican2

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re:Imprimir contenido TextBox en dos lineas
« Respuesta #2 en: Viernes 9 de Noviembre de 2012, 19:38 »
0
Gracias por responder DiabloRojo
El problema es que soy novato, tengo pocos conocimientos de vb.net
Cual seria el codigo para evaluar lo que tu dices

Haggen

  • Miembro activo
  • **
  • Mensajes: 88
  • Nacionalidad: mx
    • Ver Perfil
    • Mis proyectos
Re:Imprimir contenido TextBox en dos lineas
« Respuesta #3 en: Sábado 17 de Noviembre de 2012, 16:09 »
0
pues podría ser por ejemplo

If parte2.IsNullOrEmpty(parte2.Trim) = True Then
  'hacer algo si es vacio o nulo
Else
 'hacer algo si no vacio o nulo
End If
« última modificación: Sábado 17 de Noviembre de 2012, 16:12 por Haggen »