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