Несколько панелей с прозрачным фоном в формуляре

Я делаю layout конфигурации зала ресторана, с Вашим mesitas, табуретами, бруском, и т.д. я считаю Это уже практически законченным, но я появляется проблема рисунка, который я не могу решить. Они будут видеть, я могу добавлять объекты к залу (у этих объектов есть прозрачный фон) и вводится, и двигаются добро, видят, давайте говорить, почва сзади, без проблем.

Imagen 1 - objetos en la sala

Проблема приходит, когда я хочу разместить или двинуть какой-либо из этих объектов на уже существующем другом. В следующем изображении возможно быть видно, что я стараюсь объяснять.

superposición de objetos

Приложение сделано в C# и в коде формуляра находятся события, которые способствуют тому, чтобы объекты, они разместились и двинулись, ничто из другого мира. Объекты действительно - панели, изображение которых фона - изображение объекта, и приносит label для numerito, который сверху. Я должен использовать другой тип контейнера?

1
задан 11.01.2017, 18:40
0 ответов

Контроль WinForms не манипулирует nativamente прозрачностью правильной формы. Я предполагаю, что в твоих панелях, что ты делаешь, он состоит в том, чтобы использовать прозрачный цвет в твоей панели, которая использует "прием", который главным образом состоит, в способствует тому, чтобы фон это нарисовал, формульный отец (поэтому ты видишь, что если, что появляется фон, но не контроль, который внизу.

В принципе я думал, что решение этого не было простым, но согласно решению, выставленному в этом вопросе в StackOverflow, как кажется, создавая контроль Panel персонализированным кажется, что возможно. Я копирую тебя код этого контроля здесь:

public class TransparentPanel : Panel
{
    protected override CreateParams CreateParams 
    {            
        get {
            CreateParams cp =  base.CreateParams;
            cp.ExStyle |= 0x00000020; // WS_EX_TRANSPARENT
            return cp;
            }
    }
    protected override void OnPaintBackground(PaintEventArgs e) 
    {
        //base.OnPaintBackground(e);
    }
}
1
ответ дан 03.12.2019, 17:45
  • 1
    Большое спасибо Pikoh, но он не вытекает, или я не делать это, вещь включенный ухудшилась, сейчас объекты режутся или появляются á удаленные преступницы, когда я двигаю другие сверху, и если я это оставляю один на другом, он продолжает оказываться равным. Скорее всего я не продолжил хорошо post, буду оставаться investigá ndolo, я уверен, что выстрелы он должен идти из-за ahí bichearé ссылки, которые есть в этом post. Спасибо. –  11.01.2017, 19:33
  • 2
    Я это не протестировал, но бросает беглый взгляд в ответ на этот вопрос . Возможно подайте тебя. –  12.01.2017, 10:04
  • 3
    Благодаря всему, но также он не вытекает, мне кажется increí ble, что вещь так bá sica, поскольку он состоит в том, чтобы двигать объекты из-за фона, будьте такой запутанной. У меня есть программы antiquí simos в визуальном Фоксе Про и это это делает верно без какой-либо проблемы. Ну, я остаюсь intentá ntolo, благодаря всем из-за помощи. –  12.01.2017, 13:32
  • 4
    @MarioRodrí guez В любом случае, winforms - tecnologí в вышедшая из употребления. Для предстоящих проектов, используй WPF, который решает все эти проблемы. –  12.01.2017, 13:34
  • 5
    Спасибо Pikoh, но в этих моментах не имею я teimpo " aprender" новая среда, уже intenté вещи с WPF и он раздражает меня, что объекты не esté n, где я помещаю их, и он меняет много вещей, к которым я приучен, я делаю простые программы gestió n и WForms решает мне в 100 % мою необходимость, será tecnologí в устаревшую, но они это приносят говоря 15 añ вы Visual Basic и fí jate, он отказывается исчезать и есть программы достаточно é xito уже не echos в .net, если не в vb6 или даже Визуальный Фокс Про, ahí он совсем не. Спасибо за твой совет. –  12.01.2017, 13:57

Теги

Похожие вопросы