Pot crea butoane transparente în Visual Studio 2005 cu C #

Am o interfață de utilizator care necesită plasarea unor butoane rotunde într-un proiect C# cu unele date în spatele lor. Butoanele sunt butoane System.Windows.Forms.și am folosit o imagine GIF cu transparență pentru a le crea. Cu toate acestea, zonele transparente nu sunt transparente. Am căutat referințe online, dar nu am găsit sugestii pentru a face acest lucru în mod corespunzător. Există câteva mențiuni despre cum se face în Visual Studio 2008, dar trebuie să păstrez acest proiect în 2005. Orice ajutor sau sugestie este apreciat.

6

4 răspunsuri

Sunt destul de sigur că trebuie să utilizați PNG-uri cu WinForms pentru a obține transparența imaginii. Știu că le-am folosit cu succes.

EDIT: Când am folosit PNG-urile, le-am suprapus cu controlul Imagine pe Form1.BackgroundImage; Nu le foloseam în butoane.

Cred că cel mai bun pariu este să treceți de la utilizarea unui buton de control la utilizarea unui control al imaginii. S-ar putea să încercați, de asemenea, să schimbați stilul butonului la plat (cred că a fost plat, poate unul dintre celelalte stiluri) și să vedeți dacă puteți obține efectul dorit în acest fel.

1
adăugat
Mulțumesc, amdfan. Voi vedea dacă o să reușesc să lucrez.
adăugat autor Sean, sursa

Incearca asta:

        Bitmap temp = new Bitmap(button1.Image);

        temp.MakeTransparent(Color.Black); //your transparent color, in this case black

        button1.Image = (Image) Logo;

        temp.Dispose();

        temp = null;
1
adăugat

Just set the Button's FlatStyle property to "Flat"…and voilà! I know this works with PNGs, but I haven't tested it with GIFs.

1
adăugat

Următorul răspuns este confirmat în Visual Studio 2012 și funcționează cu formatul backgroundImage BMP, GIF, PNG, precum și JPG; create de MS Paint.

Pentru a face vizibilitatea fundalului prin butonul dvs.:

Accesați fereastra de proprietăți a butonului. Apoi schimbați FlatStyle și BackColor după cum se arată în imaginea de mai jos:

The FlatStyle is to be chosen as Flat

The color is to be chosen from Web Tab

Notă: Culoarea va fi aleasă din Tabul Web și FlatStyle va fi aleasă ca Plată.

But after this, the button will be transparent till mouse do not hover or it is selected or pressed. On that condition, it will be in some non-transparent color. If you want to make it always transparent, follow the following images and change the corresponding colors to transparent as before. The colors to be changed are: 'MouseOverBackColor' & 'MouseDownBackColor'.

enter image description here

enter image description here

Notă: Dacă alegeți întotdeauna transparent, așa cum se arată, nu va exista nicio modificare în aspectul butonului în timp ce acesta va fi în acțiune!

Sper că vă va ajuta.

Mult noroc!

0
adăugat