Forum Clubic

Transparent Control - .Net 2

:hello:

comment peut on avoir des controls transparents en .net ?!
parceque si on met le backcolor d’un controll en transparent, ça affiche cequi est dessiné sur la form parents et ignore les controls en dessous … :confused:

un p’tit up :smiley:

bon j’ai enfin trouvé … mais c’est chiant comme truc … grrr :confused: :o
un petit exemple :


public partial class ccTransparentControl : Control
    {
        public ccTransparentControl()
        {
            InitializeComponent();

            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
        }

        protected override void OnPaint(PaintEventArgs pe)
        {
            // TODO : ajoutez ici votre code de dessin personnalisé

            // Appel à la classe de base OnPaint
            base.OnPaint(pe);
        }

        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x20; // WS_EX_TRANSPARENT
                return cp;
            }
        }

        protected override void OnPaintBackground(PaintEventArgs e)
        {
        }

    }

rahlalala, ça ne marche pas avec le DoubleBuffer :confused:

si qqn aurait une soluction… :jap:

Personne ne fait de C# je dirais :slight_smile:

En java, tu as setOpaque(false) pour la transparence, mais pour C# je ne sais pas, désolé.