Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1840 | Besucher online: 181
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Button mit Hintergrundbild


Autor: Ploetzi
Sprache: C#
Bewertung:
1.44 (2 votes)
Anzahl der Aufrufe: 6420
  
Kick it on dotnet-kicks.de  

Beschreibung:

Immer wieder ist es noetig sich einen Button mit Hintergrundbild zu erstellen, dass geht ganz einfach mittels PictureBox.

Wie das ganze aussieht sieht man hier:
http://www.ploetzeneder.eu/softwareentwicklung/cvbnet/78-button-mit-hintergrundbild.html


Abgelegt unter: Button, Hintergrundbild.



C#
1
2
3
4
5
6
7
8
9
10
11
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
	pictureBox1.BackgroundImage = new System.Drawing.Bitmap(@"C:\test.bmp");
	StringFormat strFormat = new StringFormat();
	SolidBrush myBrush = new SolidBrush(Color.Black);
	Font myfont = new Font("Arial", 16, FontStyle.Bold);
	int fheight =(int)e.Graphics.MeasureString("Test", myfont).Height;
	strFormat.Alignment = StringAlignment.Center;
	e.Graphics.DrawString("Test", myfont, myBrush, (pictureBox1.Width/2), (int)(pictureBox1.Height/2-0.5*fheight), strFormat);

}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Kosmo schrieb am:  24.08.2009 18:33:00

Erstens, wenn man unbedingt ein Bild mit Text drin braucht, dann würde ich ein Label nehmen. Das unterstützt Bild mit Text schon von Haus aus ohne das man irgendwas selbst malen muss. Außerdem sieht man da auch gleich im Designer wie es aussieht ohne das Programm starten zu müssen.

Zweitens, ist es eine ganz schlechte Idee bei jedem Paint-Durchgang das Bild zu laden. Das wird ganz böse auf die Performance gehen.
Jan Welker schrieb am:  24.08.2009 23:25:38

Hier gibts ein Bsp.: http://bonn-to-code.de/dies-und-das.aspx (Ein Seitenkopf mit nur zwei Label-Controls)

Viele Wege führen nach Rom :-)
Ploetzi schrieb am:  25.08.2009 07:41:32

Auch bei der PictureBox kann ich das so machen das ich das Bild sofort sehe, hierzu definiere ich in der PictureBox das BackgroundImage einfach über die Eigenschaft im Eigenschaften Dialog
Christopher Wolf schrieb am:  04.09.2009 07:41:06

Na ja, aber man kann auch bei einem Button ein Image definieren per Designer...
Da muss man nicht direkt im Code mit arbeiten, das steigert nur die Unübersichtlichkeit des Codes und erschwert die Lesbarkeit dessen.

Im Designer, wenn der Button ausgewählt ist, gibt es die Properties "BackgroundImage" und BackgroundImageLayout, damit kann man das gleiche erzielen. Was auch gehen würde, wäre wenn es in der Propertie "Image" definiert werden würde, denn da liegt das Bild auch hinter dem Text und man kann sogar mit "Padding" bestimmen welchen abstand es von wo haben soll, nach dem man mit "ImageAlign" die Ausrichtung festgelegt hat.


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.