|
Изменение RichTextBox из другого процесса
|
|||
---|---|---|---|
#18+
Добрый день всем! Народ, подскажите, пожалуйста, каким образом можно организовать доступ к контролу из другого потока? Задумка: есть запущенный из другой формы Thread, он сканирует коллекцию строк, парсит ее, и затем добавляет в соответствии с результатом парсинга в RichTextBox (в строках коллекции текст влияет в том числе на то, каким шрифтом он будет отображен в RichTextBox). На практике при попытке изменить из другого процесса содержимое RichTextBox я получаю ошибку что на самом деле ожидаемо. А теперь вопрос, как же все-таки подружить мой процесс с процессом владельца контрола? Я так понимаю, что можно как-то хитро забиндить RichTextBox на мою коллекцию, но вот незадача, в ней пользовательский текст (статья преподавателя). Более того, в процессе обработки текста необходимо запрашивать подтерждение на выделение областей текста у пользователя. Выделение происходит словосочетаний из словаря и текста в скобках. А результат обработки и вывода в RichTextBox надо видеть сразу, причем чтобы во время этого приложение не "висело" в единственном потоке. Отсюда и необходимость в отдельном процессе для обработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2011, 09:40 |
|
Изменение RichTextBox из другого процесса
|
|||
---|---|---|---|
#18+
Извиняюсь, не написал сообщение об ошибке: Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2011, 09:57 |
|
Изменение RichTextBox из другого процесса
|
|||
---|---|---|---|
#18+
Вопрос более не актуален, оказывается это легко делается при помощи BackgroundWorker и Invoke Впрочем, если есть более элегантные решения -- будет полезно, если кто-нибудь о них напишет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2011, 11:07 |
|
|
start [/forum/topic.php?fid=21&msg=37545386&tid=1442056]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 341ms |
total: | 467ms |
0 / 0 |