Лучший отвечающий
Доступ из класса к элементу на форме

Вопрос
-
При запусе программы я запускаю поток который что-то будет делать. Данный поток должен будет заполнять richtextbox.
private void main_Shown(object sender, EventArgs e) { MyThread mt = new MyThread(); Thread smt = new Thread(mt.Run); smt.Start(); }
Вот класс потока
private class MyThread { public void Run() { main m = new main(); for(int i = 0; i < 10000; i++) { m.richConsole.Text = i + " "; } } }
Кстати, может надо как-то по другому запускать процессы при старте программы, а не через событие shown?
Но в richConsole.Text ничего не появляется. Как заполнять richConsole?
19 июня 2011 г. 12:30
Ответы
-
- Помечено в качестве ответа Konstantin K_ 20 июня 2011 г. 7:12
20 июня 2011 г. 2:07
Все ответы
-
Не совсем верно выразился изначально. Доступ нужно получить из потока к контролу созданный в главном потоке. В общем нужно использовать делегаты...19 июня 2011 г. 19:57
-
- Помечено в качестве ответа Konstantin K_ 20 июня 2011 г. 7:12
20 июня 2011 г. 2:07 -
20 июня 2011 г. 7:11
-
Наверно это лучше делать через BackgroundWorker, который будет выполнять что-то в фоновом режиме и в какой-то момент в OnProgressChanged возвращать нужные данные, которые в свою очередь форма будет вставлять в richConsole.
Так же, если в потоке вызывается что-то явно простое, то можно сделать лямбда выражение.
20 июня 2011 г. 16:13Отвечающий