c# - parrafos - no puedo mover objetos en illustrator
Desplazamiento vertical Cuadro de texto de Scintilla durante el evento Texto modificado (2)
Aquí hay un proyecto completo de VS2010 para reproducir el problema: http://temp-share.com/show/dPf3aqi7W
Establecer un cuadro de texto de Scintilla.Net con una cadena y desplazarse a la última línea no funciona.
Este Q & A ¿Cómo hacer autoscroll en Scintilla? tiene la respuesta pero no funcionará al mismo tiempo que se establece el texto .
Reproducción de huesos desnudos:
private void button1_Click(object sender, EventArgs e)
{
string s = RandomString(400);
scintilla1.Text = s + " " + s + " " + s + " " + s + " " + s;
scintilla1.Scrolling.ScrollBy(0, 10000); //<-doesn''t work (but does work eg in a Button2_click)
}
private static Random random = new Random((int)DateTime.Now.Ticks);
private string RandomString(int size)
{
StringBuilder builder = new StringBuilder();
char ch;
for (int i = 0; i < size; i++)
{
ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
builder.Append(ch);
}
return builder.ToString();
}
¿Alguien sabe cómo desplazarse verticalmente hacia la línea final después de configurar el texto?
Bueno, puedes intentar poner Refresh () después de agregar el texto;
scintilla1.Text = s + "" + s + "" + s + "" + s + "" + s;
scintilla1.Refresh ();
para este caso descubrí que necesitarás actualizar () dos veces depende de la longitud de la cadena que pones en el cuadro de texto.
Para cualquiera que se pregunte al final, abandoné Scintilla a favor de ICSharpCode.TextEditor . <- Este era un poco inestable, así que utilicé la versión de Digitalrune del ICsharp.TextEditor
Encontré mejorar el ICSharpCode.TextEditor fue trivial en comparación con Scintilla.
Otro gran beneficio de ICSharpCode.TextEditor es que le permite personalizar / crear su propia Resistencia de sintaxis, por ejemplo: https://github.com/icsharpcode/SharpDevelop/wiki/Syntax-highlighting