Hola tengo una duda pero no se como hacerlo.
Bueno tenemos un TextBox y un richTextBox entonces lo que quiero es que en el texbox aparezca la primera linea del richTexbox ojo solo la primera linea
TextBox en blanco y richTextBox con 19
22
18
cuando le doy click en un botón el 19 se pone en el textbox , cuando le doy otra vez el 19 se borra y se pone el 22.
Es por curiosidad no se hacerlo y me gustaría que alguien me ayudase a hacerlo.
Gracias
Trata de publicar tu código la próxima vez para poder corregirte los errores que hayas tenido, piensa que aprender de tus errores te serviría de más ayuda.
Una manera de hacerlo sería suscribirte al evento RichTextBox.TextChanged para actualizar el TextBox especificado cuando este evento se dispare, reflejando así las modificaciones realizadas en la linea 0 del RichTextBox, recurriendo a la propiedad RichTextBox.Lines, la cual es una colección de strings que contiene las lineas de texto del RichTextBox.
Ejemplo en Vb.Net:
Private Sub RichTextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) _
Handles RichTextBox1.TextChanged
Me.TextBox1.Text = DirectCast(sender, RichTextBox).Lines.FirstOrDefault
End Sub
C#:
private void RichTextBox1_TextChanged(object sender, EventArgs e)
{
this.TextBox1.Text = ((RichTextBox)sender).Lines.FirstOrDefault;
}
Si prefieres utilizar un botón para actualizar arbitrariamente el texto del TextBox, entonces solo tienes que hacer pequeñisimos cambios en el código que te acabo de mostrar para adaptarlo a ese tipo de comportamiento que mencionas, vamos, con esto quiero decir que creo que serás capaz de hacerlo tu solo sin ayuda xD :P.
Saludos
Creo que con lo que dice Eleкtro ya te serviría para lo que quieres hacer, pero ajustándolo más a tu duda te propongo esto:
Esto en el evento OnClick del botón.
private void theButton_Click(object sender, EventArgs e)
{
//Validamos que el richTextBox tenga al menos una linea
if(richTextBox.Lines.Length > 0)
{
textBox.Text = richTextBox.Lines[0]; //Copiamos la primera linea al textBox
//Aquí vamos a hacer una selección, indicándole que empiece en la posición 0 y termine en la posición siguiente a la longitud de la primera (0) linea
richTextBox.SelectionStart = 0;
richTextBox.SelectionLength = richTextBox.Lines[0].Length + 1;
//Una vez seleccionado ese texto, le asignamos un cadena vacía
richTextBox.SelectedText = string.Empty;
}
}
Espero esto sea lo que quieres y te ayude.
Salu2s