05 Марта 2012 г. в 23 ч. 46 м.

C# - прозрачная панель (Transparent Panel)

Создайте вот такой небольшой класс, и подключите его к своему проекту. После чего новый компонент появится на панели инструментов.

using System;
using System.Drawing;
using System.Windows.Forms;

namespace project
{
    /// 
    /// A transparent control.
    /// 

    public sealed class TransparentPanel : Panel
    {
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x20;
                return cp;
            }
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(0, 0, 0, 0)), this.ClientRectangle);
        }

        protected override void OnSizeChanged(EventArgs e)
        {
            base.OnSizeChanged(e);
        }
    }
}


Обсуждение
Пример хороший, только не всегда срабатывает..
если форма(нормального размера, параметр формы windowsstate) -все ок
если ставлю чтобы форма разварачивалась на весь экран - все, панель не работает (непрозрачная а обычная)
как подправіть?
Добавить свой комментарий...