У меня возникла странная проблема с Windows Forms.
Есть форма, на которой стоит объект PictureBox (на самом деле его
наследник, но, думаю, это значения не имеет) — назовем его Объект1.
У него есть своя картинка и статическое местоположение.
Есть другой объект PictureBox, поменьше размером, который можно
передвигать — Объект2. Я хочу сделать, чтобы Объект2 отображал
картинку, но не с контурами прямоугольника, а с контурами самого
изображения. Для этого делаю GIF с прозрачным фоном, в свойствах
Объекта2 ставлю backgroundcolor = transparent. И все получается
замечательно, если бы не возникали два ужасных побочных эффекта:
1. при передвижении Объект2 как будто закапывается в background формы,
выглядит это ужасно.
2. при наведении его поверх Объекта1, последний начинает просвечивать
по всему прямоугольнику Объекта2, там виднеется картинка формы!
Я выяснил, что это напрямую связано с выставлением backgroundcolor
Объекта2 в transparent. Очень неприятное явление, но ума не приложу,
как от этого избавиться..
P>2. при наведении его поверх Объекта1, последний начинает просвечивать
P>по всему прямоугольнику Объекта2, там виднеется картинка формы!
Это потому что "прозрачный" контрол достигает этого эффекта путем перерисовки участка
своего родителя, который находится под ним. Попробуйте изменить родителя объекта (если Вам это подходит) а еще посмотрите
здесь — похожая проблема