2012-08-17 18 views
7

Tengo una sola línea de solo lectura RichTextBox con WordWrap deshabilitado, y añado programáticamente una única línea de texto muy larga.Desplazamiento horizontal de RichTextBox no funciona

Sin embargo, la barra de desplazamiento horizontal no aparece, incluso si configuro ScrollBars en ForcedHorizontal.

¿Cómo puedo solucionar esto?

Puedo navegar por toda la línea si uso las teclas de flecha del teclado, pero esto solo empeora las cosas.

+0

Cuando uso un 'RichTextBox' yg Si hay una larga cadena de texto con 'WordWrap = false', veo la barra de desplazamiento horizontal automáticamente. Con 'ForcedHorizontal', ¿ves la barra de desplazamiento en gris cuando no hay texto? Verificación de cordura, ¿es posible que la parte inferior del cuadro de texto esté posiblemente cortada? – SomeWritesReserved

+0

No, aparentemente con las barras de desplazamiento de RichTextBox solo funcionan con líneas múltiples – Qsiris

Respuesta

5

puedo reproducir este comportamiento con

MultiLine = false 

Si cambio de esta propiedad a True la barra de desplazamiento aparece como se esperaba

+0

Esto funciona, pero mi texto tiene solo una línea, ¿por qué debería ser necesariamente una línea múltiple? – Qsiris

+1

Sin barra de desplazamiento horizontal en modo no multilínea ... eso es extraño – Reniuz

+1

@Reniuz, sí, es un misterio. Se indica aquí sin mucha explicación http://msdn.microsoft.com/en-us/library/aa983606(v=VS.71).aspx – Steve

4

tratar de resolverlo con

Multiline = True 
    WordWrap = False 

cambiar esta propiedades para permitir la función multilínea y también permite desplazamiento horizontal

+0

Para su información, incluso estos no funcionarán si su línea es todo espacio en blanco. Supongamos que tiene 1464 caracteres y su RichTextBox debería mostrar una fracción de ella como 100 caracteres. Si la línea es todo espacio en blanco, la barra de desplazamiento horizontal no se mostrará incluso con ForcedHorinzontal. Pruébalo y agrega, por ejemplo, 1 al final de la línea y la barra de desplazamiento aparecerá por arte de magia. Pruebo esto tres veces y es realmente cierto. Incluso intenté tener 5 caracteres al principio, luego todos los espacios en blanco hasta el final y sin barra de desplazamiento, pero tan pronto como escribo un carácter al final, aparece la barra de desplazamiento. –

+0

Si es así, debe ser un error con el RichTextBox predeterminado. Si desea que funcione con espacios en blanco solo al final de la línea, herede el RichTextBox predeterminado y corríjalo por su cuenta. – TVC

+0

en nuestro caso, no es un problema porque no necesitamos la barra de desplazamiento. Escribí para mencionarlo en caso de que la gente no entendiera la razón por la cual todavía no tienen la barra de desplazamiento. Espero que esto ayude a otros –

Cuestiones relacionadas