DataVisualization.Charting.Chart Событие PostPaint срабатывает преждевременно - PullRequest
0 голосов
/ 23 февраля 2019

У меня сложная диаграмма, которую я рисую, и событие PostPaint для System.Windows.Forms.DataVisualization.Charting.Chart, похоже, срабатывает преждевременно.На экране еще нет диаграммы.

Кто-нибудь лучше понимает поведение события PostPaint на больших диаграммах?Есть ли лучшее событие для прослушивания?Рекомендуемые стратегии?

Я не уверен, что размещение кода принесет какую-либо пользу.

1 Ответ

0 голосов
/ 23 февраля 2019

ОРИГИНАЛЬНАЯ ПОЧТА: Получается, что ответом на это (для меня, во всяком случае) является создание другого потока (я делаю это с Задачей) вне события.Работа этого потока состоит в том, чтобы постоянно сравнивать регион с пустым изображением, а когда оно больше не является пустым, захватить изображение и сохранить его в базе данных.Поскольку это поток, это освобождает диаграмму, чтобы в конечном итоге отобразить себя.

FINAL POST: В конце концов, мне пришлось установить блокировку внутри события PostPaint (оно срабатывало несколько раз, как указывал TaW)и убедитесь, что код внутри будет выполняться только один раз (у меня есть кнопка Draw, поэтому эти элементы управления сбрасываются при каждом нажатии).Кроме того, мне было необходимо создать задачу, чтобы фактически сделать снимок и сохранить его в базе данных.Если бы я этого не делал, я бы каждый раз получал пустое изображение.На самом деле мне не нужно было проверять счетчик точек или делать выборку изображения, чтобы увидеть, было ли оно пустым.

Блокировка события и создание задачи внутри события - вот что имело значение.

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