SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: mexican2 en Viernes 9 de Noviembre de 2012, 04:57

Título: Imprimir contenido TextBox en dos lineas
Publicado por: mexican2 en Viernes 9 de Noviembre de 2012, 04:57
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
Título: Re:Imprimir contenido TextBox en dos lineas
Publicado por: DiabloRojo en Viernes 9 de Noviembre de 2012, 06:52
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.
Título: Re:Imprimir contenido TextBox en dos lineas
Publicado por: mexican2 en Viernes 9 de Noviembre de 2012, 19:38
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
Título: Re:Imprimir contenido TextBox en dos lineas
Publicado por: Haggen en Sábado 17 de Noviembre de 2012, 16:09
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