powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема с PictureBox
8 сообщений из 8, страница 1 из 1
Проблема с PictureBox
    #32455921
Phil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня возникла странная проблема с Windows Forms.
Есть форма, на которой стоит объект PictureBox (на самом деле его
наследник, но, думаю, это значения не имеет) - назовем его Объект1.
У него есть своя картинка и статическое местоположение.
Есть другой объект PictureBox, поменьше размером, который можно
передвигать - Объект2. Я хочу сделать, чтобы Объект2 отображал
картинку, но не с контурами прямоугольника, а с контурами самого
изображения. Для этого делаю GIF с прозрачным фоном, в свойствах
Объекта2 ставлю backgroundcolor = transparent. И все получается
замечательно, если бы не возникали два ужасных побочных эффекта:
1. при передвижении Объект2 как будто закапывается в background формы,
выглядит это ужасно.
2. при наведении его поверх Объекта1, последний начинает просвечивать
по всему прямоугольнику Объекта2, там виднеется картинка формы!

Я выяснил, что это напрямую связано с выставлением backgroundcolor
Объекта2 в transparent. Очень неприятное явление, но ума не приложу,
как от этого избавиться..
...
Рейтинг: 0 / 0
Проблема с PictureBox
    #32465511
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
св-во transparent это хитрое св-во, фишка в том, через что будет просвечивать объект2, вам надо поиграться со св-ом parent объекта2.
предлагю вариант: между объектом2 и всем остальным кладёте панель, делаете её прозрачной и выставляете её в св-ве parent объекта2, возите объект2 по панели.
должно работать.

Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
Проблема с PictureBox
    #32465913
Phil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я создал прозрачную панель, сделал ее BringToFront, но через нее видно только саму форму и ее backgroundimage. Еще одна странность с прозрачностью..
...
Рейтинг: 0 / 0
Проблема с PictureBox
    #32465944
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тут поэксперементировал:
стряпаем слоёный пирог:
берём форму чистую и кладём на неё панель1,
панель растягиваем по всей форме,
присваиваем бэкграунду панели1 какой-нить рисунок или цвет,
кладём на панель1 пиктуребокс1,
определяем картинку для пиктуребокса1,
кладём на панель1 панель2 и растягиваем её также на всю катушку,
убеждаемся в редакторе кода, что панель2.парент=панель1,
если нет пишем эту строку,
у панели2 выставляем бэк- и фореколор в транспарент,
кладём на панель2 ваш объект2 и катаем его по ней.
пирог готов к употреблению.
приятного аппетита :)

Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
Проблема с PictureBox
    #32470844
Phil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я попробовал сделать все так, как Вы описали.

В результате у меня виден задний фон Панели1 (задней) и Объект2, все.

Я прописываю pictureBox1.BringToFront(); Тогда он появляется, но теперь Объект2 прячется за него! Указание pictureBox2.BringToFront(); никак на дело не влияет.. :(

Если у Вас действительно все корректно работало, то не могли бы Вы прислать исходники на philfree@nm.ru?

Спасибо.
...
Рейтинг: 0 / 0
Проблема с PictureBox
    #32470928
Phil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я могу прислать свой пример. Так совсем небольшой исходник.
...
Рейтинг: 0 / 0
Проблема с PictureBox
    #32471726
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обещаю поколдовать над этим проекто в ближайшее время.
результаты сообщу здесь и если всё будет работать вышлю вам на мыло исходники.
я честно признаться поленился сделать так, чтобы объект2 двигался.
посмотрим.....

Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
Проблема с PictureBox
    #32472044
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, действительно стандартными средствами не получится, но выход есть:

http://www.c-sharpcorner.com/Code/2003/May/TransparentControls.asp

этот контрол просвечивает через всё. у меня всё получилось как вы хотели.
поиграйтесь с примерчиком. будут проблемы или вопросы - пишите сюда.

Я сделал всё что мог, кто может пусть сделает лучше.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема с PictureBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]