У меня есть userControl, для которого я рисую, и когда элемент управления перемещается к краю экрана или перемещается так, что панель задач Vista перекрывает его, край экрана / панель задач рисуется на элементе управления , оставляя уродливые линии над окрашиваемой областью контроля.
Каков наилучший способ обнаружить это и вызвать Invalidate для элемента управления? События «Moved» и «LocationChanged», очевидно, имеют дело с перемещением элемента управления в его родительском контейнере, а не с изменением местоположения экрана.
Я верю, что то же самое произойдет, когда элемент управления перекрывается другим окном в Windows XP, но я еще не проверял это. Тот же вопрос применяется при этом обстоятельстве.
В настоящее время я рисую непосредственно в объекте Graphics элемента управления, который, по моему мнению, является корнем проблемы. Было бы лучше обратиться к BackGroundImage элемента управления в качестве попытки обойти эту проблему?
Примечание. Это существенная перефразировка предыдущего вопроса, который был сформулирован очень плохо. Я чувствовал, что нужно начинать новый вопрос, а не пытаться исправить чушь, которую я написал.
РЕДАКТИРОВАТЬ: Оказывается, что панель задач не вызывает проблемы, только нижний край экрана. Я думал, что панель задач также вызывает проблемы, но, похоже, я ошибся