2011-06-05 120 views
8

¿Cómo alinear el texto en un RichTextBox?Cómo alinear texto en RichTextBox C#?

RTB

Básicamente, el RTB contiene:

"--testing"

"--TESTING"

"TESTING--"

"testing-- "

que todos tienen el mismo número de cha racters, pero tienen diferentes alineamientos. ¿Cómo puedo alinearlos correctamente? Soy bastante nuevo en C# y estoy confundido porque se alineó correctamente en TextArea de Java.

¡Gracias!

+0

Sólo tiene que utilizar una fuente monoespaciada. – svick

+0

¿A qué te refieres con "alinear" en este caso? – ChrisF

Respuesta

6

Tendría que cambiar la fuente a una fuente monoespaciada, como Courier. Este comportamiento que muestra es estándar con la mayoría de las fuentes, ya que no todos los caracteres tienen el mismo ancho.

+0

No puedo creer que fuera así de simple. Probé otras fuentes pero desafortunadamente no eran fuentes monoespaciadas y simplemente me rendí. ¡Gracias por eso! – user488792

+0

Simple, básico y brillante. Tan obvio, sin embargo, nunca lo hubiera pensado en un millón de años ... – AndyUK

26

Desea utilizar la propiedad RichTextBox.SelectionAlignment.

Por ejemplo, si desea todo el cuadro de texto centrada, a continuación, puede hacer:

richTextBox1.SelectAll(); 
richTextBox1.SelectionAlignment = HorizontalAlignment.Center; 

Si desea sólo una parte del cuadro de texto con una cierta alineación, a continuación, utilizar la rutina RichTextBox.Select() para seleccionar el texto, luego configure la propiedad SelectionAlignment.

+3

¿Hay alguna manera de que pueda definir la alineación del texto en el momento en que añado texto en RichTextBox? De lo contrario, tengo que agregar texto, y luego encontrar el texto que he insertado, seleccionarlo y luego cambiar su alineación. –

+0

SelectionAlignment no existe en WPF: ( – T4NK3R

1

A menos que sea muy necesario para que pueda utilizar un rico cuadro de texto, sólo puede utilizar un cuadro de texto y seleccione la alineación como

textbox.TextAlign = HorizontalAlignment.Center;/*could be left, right or center*/ 
0
richTextBox1.SelectAll(); 
richTextBox1.SelectionAlignment = HorizontalAlignment.Center; 
richTextBox1.DeselectAll(); 
+6

) Aunque este código puede responder a la pregunta, proporcionar un contexto adicional sobre cómo y/o por qué resuelve el problema mejoraría el valor a largo plazo de la respuesta. –

Cuestiones relacionadas