Cuando estamos haciendo algún tipo de editor de texto plano, nos topamos muchas veces con el problema de la identación, y es que cuando presionamos enter, la siguiente linea comienza de la posición 1, es decir, sin respetar los espacios ni tabuladores que hay en la linea actual. Esto es un problema, porque manualmente tenemos que hacer el espaciado, además de incómodo.
La solución que propongo es la siguiente:
- Buscamos el próximo salto de linea anterior a la posición actual del cursor
- Vamos recorriendo hacia adelante cada caracter
Si es un espacio, tabulador, o salto de linea lo almacenamos en una cadena temporal
Si es otro caracter, cancelamos la búsqueda, hasta este punto ya tenemos en una cadena temporal todos los carácteres que forman nuestra identación - Finalmente, agregamos después de la posición del cursor actual de nuestro RichTextBox el contenido de nuestra variable temporal
Ojalá les sea útil!
Adjunto ejemplo: IdentacionTextBox20100502200133
mayo 6th, 2010 on 4:49 pm
Interesting X)