Конференція vbstreets - перегляд теми - скріншот що за помилка

У таймері періодично виконується такий шматок:
Код: Виділити все Application.DoEvents ();


Періодично виникає така помилка:
BufferedGraphicsContext can not be disposed of because a buffer operation is currently in progress
із зазначенням на рядок Application.Run (new Form1 ());

Як це можна поправити?

Я в Шарп не сильний, але ризикну припустити, що викликати screenShotGraphics.Dispose варто було б після того, як закінчиться попередня операція. і якщо б я був на вашому місці, то насамперед я б пошукав у screenShotGraphics якісь методи, які повертають його стан, щоб так сказати, відмоніторити, завершив він операцію або ще зайнятий.

Програмування - богообрана дисципліна! Якщо бог і є, то всесвіт він скомпілював, не інакше.

Якщо код виконується в Form_Load - повісь його тимчасово на кнопку і подивися.

Денис писал (а): Я в Шарп не сильний, але ризикну припустити, що викликати screenShotGraphics.Dispose варто було б після того, як закінчиться попередня операція. і якщо б я був на вашому місці, то насамперед я б пошукав у screenShotGraphics якісь методи, які повертають його стан, щоб так сказати, відмоніторити, завершив він операцію або ще зайнятий.

З методів нічого путнього не зміг знайти.

Nord777 писал (а): Якщо код виконується в Form_Load - повісь його тимчасово на кнопку і подивися.

Код виконується в таймері кожні 50 мсек. Помилка виникає через кілька хвилин після запуску програми.
Ще помітив в windows task manager, що постійно збільшується обсяг пам'яті, який використовується програмою.