2012-04-28 21 views
5

Hoy encontré un problema extraño con TextBox.Text, si la longitud de la cadena es demasiado grande, el cuadro de texto se verá como vacío, pero en realidad todavía puedo seleccionar/copiar/pegar, simplemente puedo ' ver los personajesWinform TextBox no puede mostrar texto

Escribí un pequeño winform para probarlo, encontré que si la longitud de la cuerda es más larga que 5460, el problema saldrá.

Estoy usando Win7 64, VS2010. Sé que no es necesario mostrar una cadena tan grande en un cuadro de texto de una sola línea, pero quiero saber la causa raíz.

Y también noté que no sucedió en Win2008, incluso en Win7 cuando uso una grabadora de pantalla el problema desapareció. ¡Tan raro!

+1

I Repro. El cursor sigue funcionando pero el texto es invisible. Es un error de Windows. –

+2

Me encuentro con esto también. ¿Alguien tiene un enlace que confirme que se trata de un error real de Windows? – Tim

+1

Tengo el mismo problema (Win7 x64). No solo el texto es invisible, ¡otro problema es que la propiedad Text devuelve el texto truncado! – user1068352

Respuesta

0

Puede hacer un verificador de if, que toma una cadena, comprueba si la cadena es más larga que la permitida. Luego puede ejecutar una función en la cadena, que devuelve una cadena cortada a la longitud deseada, quizás con ... al final para mostrar que está acortada. Tal vez algo como:

public string Truncate(string source, int length) 
{ 
    if (source.Length > length) 
    { 
      source = source.Substring(0, length -2); //-2 because of the ".." 
      source += ".."; 
    } 
    return source; 
} 
0

que estaba recibiendo el mismo error y el establecimiento de líneas múltiples verdadera resolvieron it.You puede probar este

<TextBox>.Multiline = true;