powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Изменение RichTextBox из другого процесса
4 сообщений из 4, страница 1 из 1
Изменение RichTextBox из другого процесса
    #37545379
Добрый день всем!
Народ, подскажите, пожалуйста, каким образом можно организовать доступ к контролу из другого потока?

Задумка: есть запущенный из другой формы Thread, он сканирует коллекцию строк, парсит ее, и затем добавляет в соответствии с результатом парсинга в RichTextBox (в строках коллекции текст влияет в том числе на то, каким шрифтом он будет отображен в RichTextBox).
На практике при попытке изменить из другого процесса содержимое RichTextBox я получаю ошибку
что на самом деле ожидаемо. А теперь вопрос, как же все-таки подружить мой процесс с процессом владельца контрола?
Я так понимаю, что можно как-то хитро забиндить RichTextBox на мою коллекцию, но вот незадача, в ней пользовательский текст (статья преподавателя). Более того, в процессе обработки текста необходимо запрашивать подтерждение на выделение областей текста у пользователя. Выделение происходит словосочетаний из словаря и текста в скобках. А результат обработки и вывода в RichTextBox надо видеть сразу, причем чтобы во время этого приложение не "висело" в единственном потоке. Отсюда и необходимость в отдельном процессе для обработки.
...
Рейтинг: 0 / 0
Изменение RichTextBox из другого процесса
    #37545386
Извиняюсь, не написал сообщение об ошибке:
Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток.
...
Рейтинг: 0 / 0
Изменение RichTextBox из другого процесса
    #37545420
Вопрос более не актуален, оказывается это легко делается при помощи BackgroundWorker и Invoke
Впрочем, если есть более элегантные решения -- будет полезно, если кто-нибудь о них напишет.
...
Рейтинг: 0 / 0
Изменение RichTextBox из другого процесса
    #37545443
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДобрыйЧеловек,

все сторонние потоки, которые работают вне потока UI нужно с ним (UI потоком) синхнронизировать, делает это Dispatcher.BeginInvoke
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Изменение RichTextBox из другого процесса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]