2009-05-12 25 views
9
private void button1_Click(object sender, EventArgs e) 
{ 
    richTextBox1.AppendText("\r\n"); 
    richTextBox1.Focus(); 
    string s = "Enter "; 
    richTextBox1.AppendText(s + "\r\n"); 
    richTextBox1.SelectionStart = richTextBox1.Text.Length - (s.Length +1); 
    richTextBox1.SelectionLength = s.Length +1; 
    richTextBox1.SelectionFont = new Font("Arial", 12, FontStyle.Bold); 
    richTextBox1.DeselectAll(); 
    richTextBox1.SelectionStart = richTextBox1.Text.Length; 
    richTextBox1.SelectionLength = richTextBox1.Text.Length; 
    richTextBox1.SelectionFont = new Font("Arial", 12, FontStyle.Regular); 
    richTextBox1.DeselectAll(); 
} 

Cada vez que un usuario hace clic en el botón quiero que el nuevo "Enter" esté en la parte superior, no en la parte inferior del RichTextBox. ¿Cómo puedo hacerlo?Agregar texto al principio en el cuadro de texto enriquecido

Respuesta

21

Técnicamente si lo está insertando en la parte superior del texto, está "insertando" o "anteponiendo", no "añadiendo". ;)

Puede usar la propiedad SelectedText para insertar texto al comienzo de un RichTextBox. Yo sólo dejó embarazada a una aplicación rápida demostración para probarlo:

private void button1_Click(object sender, EventArgs e) 
    { 
     richTextBox1.SelectionStart = 0; 
     richTextBox1.SelectionLength = 0; 
     richTextBox1.SelectedText = DateTime.Now.ToString(); 
    } 

que inserta la hora actual en el inicio de RichTextBox cuando se hace clic en el botón 1.

+0

Buen ejemplo para los principiantes – lovesall

3

forma más sencilla que prefiero es,

private void button1_Click(object sender, EventArgs e) 
    { 
     richTextBox1.Text = DateTime.Now.ToString() + richTextBox1.Text; 
    } 

Se antepondrá DateTime intensidad en el arranque.

Cuestiones relacionadas