Как ждать, пока Textbox завершит рендеринг? - PullRequest
0 голосов
/ 18 марта 2011

В моей программе я добавляю текст в текстовое поле, и моя программа продолжается до того, как текстовое поле завершает рендеринг. Это плохая карма для пользователя.

Чтобы продемонстрировать эту проблему, я написал в System.Console и вижу много текстовых строк, отображаемых на вкладке консоли MS Visual C # Express до того, как текст отображается в элементе управления (в моем приложении).

Я попытался Textbox.Update(), но безуспешно, программа продолжает выполняться. Textbox.Refresh() тоже не помогает.

Как получить поток (графический интерфейс или другой поток), чтобы дождаться, пока текстовое поле завершит рендеринг?

Я хочу выполнить следующее (в коде psuedo):

Textbox.AppendText("New text\r\n");

// Execution blocked until Textbox finishes drawing.
Textbox.WaitForRenderingToFinish();

1 Ответ

0 голосов
/ 18 марта 2011

Что произойдет, если вы сделаете

Textbox.AppendText("New text\r\n");
Application.DoEvents();

Как обсуждалось в этом предыдущем посте: Как заставить кнопки, TextBoxes перерисовываться в форме после закрытия MessageBox в C # это не хорошопопрактиковаться в работе над потоком пользовательского интерфейса.Это то, что вы делаете?Весь пользовательский интерфейс не отвечает при выполнении программы, или это просто текстовое поле, которое не будет обновляться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...