Проблема в том, что вы пытаетесь изменить элемент пользовательского интерфейса Winforms из фонового потока.Это специально не допускается моделью WinForms.Элементы пользовательского интерфейса могут быть изменены только из основного потока.Вам нужно использовать Control.Invoke
, чтобы вернуть контекст обратно в соответствующий поток.
private void rtb2() {
Action action = delegate {
richTextBox1.Text = "1";
};
try {
this.Invoke(action);
} catch(InvalidOperationException ex) {
MessageBox.Show("HI");
}
}