Kann ich transparente Schaltflächen in Visual Studio 2005 mit C # erstellen?

Ich habe eine Benutzeroberfläche, die einige runde Schaltflächen in einem C# -Projekt mit einigen Daten hinter ihnen platzieren muss. Die Schaltflächen sind System.Windows.Forms.buttons und ich habe ein GIF-Bild mit Transparenz verwendet, um sie zu erstellen. Die transparenten Bereiche sind jedoch nicht transparent. Ich habe online nach Referenzen gesucht, aber keine Vorschläge gefunden, wie dies richtig zu machen ist. Es wird erwähnt, dass es in Visual Studio 2008 gemacht wird, aber ich muss dieses Projekt im Jahr 2005 behalten. Jede Hilfe oder Anregung wird geschätzt.

6

4 Antworten

Ich bin mir ziemlich sicher, dass Sie PNGs mit WinForms verwenden müssen, um Bildtransparenz zu erhalten. Ich weiß, dass ich sie erfolgreich benutzt habe.

BEARBEITEN: Wenn ich die PNGs verwendete, überlagerte ich sie mit dem Bildsteuerelement auf dem Form1.BackgroundImage; Ich habe sie nicht in Knöpfen benutzt.

Ich denke, Ihre beste Wette ist es, von der Verwendung eines Schaltflächensteuerelements zu einem Bildsteuerelement zu wechseln. Sie können auch versuchen, den Button-Stil zu ändern (ich glaube, er war flach, vielleicht einer der anderen Stile) und zu sehen, ob Sie den gewünschten Effekt erzielen können.

1
hinzugefügt
Danke, Amdfan. Ich werde sehen, ob ich das zur Arbeit bringen kann.
hinzugefügt der Autor Sean, Quelle

Versuche dies:

        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
hinzugefügt

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
hinzugefügt

Die folgende Antwort wird in Visual Studio 2012 verifiziert und arbeitet mit dem backgroundImage-Format BMP, GIF, PNG sowie JPG; erstellt von MS Paint.

Um den Hintergrund über den Button sichtbar zu machen:

Gehe zum Eigenschaftenfenster der Schaltfläche. Dann ändern Sie den FlatStyle und BackColor wie in der folgenden Abbildung gezeigt:

The FlatStyle is to be chosen as Flat

The color is to be chosen from Web Tab

Hinweis: Die Farbe ist im Web Tab zu wählen und Der FlatStyle ist als Flat zu wählen.

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

Hinweis: Wenn Sie wie dargestellt immer transparent wählen, ändert sich das Aussehen der Schaltfläche nicht, solange sie in Aktion ist!

Hoffe es wird dir helfen.

Viel Glück!

0
hinzugefügt