public void CargarRichTextBox(string datos) { if (rtbTextoSalida.InvokeRequired) { CargarRichTextBoxCallback d = new CargarRichTextBoxCallback(CargarRichTextBox); this.Invoke(d, new object[] { datos }); } else { rtbTextoSalida.AppendText(datos); } }
public void CargarRichTextBox(string datos) { if (rtbTextoSalida.InvokeRequired) { CargarRichTextBoxCallback d = new CargarRichTextBoxCallback(CargarRichTextBox); this.Invoke(d, new object[] { datos }); } else { evento.Invoke(); // Código del alumno!!!! } }
private void CargarRichTextBox(string datos) { /* el hilo en el que está actualmente esa llamada es diferente al hilo en el que se creó el control, * por tanto, creamos un nuevo objeto del tipo del delegado, * le indicamos que método debe usar y a continuación llamamos al método Invoke de nuestro formulario, * cuando se entre nuevamente en ese método (porque el formulario lo "invoca") * el valor que devolverá la propiedad InvokeRequired será False*/ if (rtbTextoSalida.InvokeRequired) { CargarRichTextBoxCallback d = new CargarRichTextBoxCallback(CargarRichTextBox); this.Invoke(d, new object[] { datos }); } else { rtbTextoSalida.Text = datos; } }