Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Transparentnost GroupBox kontrole C#

[es] :: .NET :: .NET Desktop razvoj :: Transparentnost GroupBox kontrole C#

[ Pregleda: 1409 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Transparentnost GroupBox kontrole C#12.03.2009. u 13:59 - pre 183 meseci
Kako da podesim GroupBox kontrolu da bude transparentna, ali da ne prikazuje boju forme nego sliku koja se nalazi iza nje?
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
93.86.81.*



+987 Profil

icon Re: Transparentnost GroupBox kontrole C#12.03.2009. u 15:19 - pre 183 meseci
Moraces da umesto obicnog GroupBox-a koristis nasledjenu kontrolu.

Code:

    class MyGroupBox : GroupBox
    {
        public MyGroupBox()
        {
            SetStyle(ControlStyles.Opaque, true);
            BackColor = Color.Transparent;

        }
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x20;
                return cp;
            }
        }
    }
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Transparentnost GroupBox kontrole C#13.03.2009. u 09:40 - pre 183 meseci
Hvala na ovom kodu, radi.
Probao sam na ovaj isti nacin da napravim klase i za RadioButton i Label-e, u dizajneru njih instanciram, ali ne dobijem ocekivani rezultat. RadioButtons i labele se nalaze na transparentnom GroupBox-u.
Kako bih mogao ovo izvesti.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
93.86.81.*



+987 Profil

icon Re: Transparentnost GroupBox kontrole C#13.03.2009. u 19:21 - pre 183 meseci
Transparentni Label:

Code:

    class MyLabel : Control
    {
        protected override void OnPaintBackground(PaintEventArgs e)
        {
        }

        private bool Iscrtaj = false;

        protected override void OnPaint(PaintEventArgs e)
        {
            if (!Iscrtaj)
            {
                Iscrtaj = true;

                this.Visible = false;
                this.Parent.Invalidate(this.Bounds);
                this.Parent.Update();
                this.Visible = true;
                return;
            }
            else
            {
                Iscrtaj = false;
                e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor),1,1);
                e.Graphics.Dispose();
            }
        }
    }



E ali RadioButton je daleko tezi za napraviti.... Ako ti ne smeta stavi text obicnog RadioButton -a na prazan string i stavi MyLabel pored njega i dobijes utisak providnosti, osim oko kruga (ako ti sve ovo ne smeta).

Ako smeta , e onda moraces da napravis svoj RadioButton.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Transparentnost GroupBox kontrole C#

[ Pregleda: 1409 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.