Делаю программу по принципу mvc на c#, в которой сперва создается класс Controller и в нем создается форма и создается поток. Скажите, почему данный код завершается ошибкой после паузы в потоке, который в классе Controller?
public class Controller
{
MainForm form;
public Controller()
{
form= new MainForm();
Thread thread= new Thread(new ThreadStart(run));
thread.Start();
form.ShowDialog();
}
public void run(){
form.addText("Hello!");
Thread.Sleep(1000);
form.addText("Hello2!");
}
public static void Main(){
new Controller();
}
}
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
public void addText(string text){
this.richTextBox1.Text+= text;
}
}