Christian Kusmanow
Erfahrenes Mitglied
Eine PictureBox nur wegen eines Images auf so einem kleinem Control zu verwenden ist eine Resourcenverschwendung.
Du kannst deine Bilder bequem mit Graphics.DrawImage( Bitmap, Rectangle ) auf deinen Button zeichnen.
Und wenn Du deinen Button "disabled" zeichnen möchtest,
kannst dafür System.Windows.Forms.ControlPaint.DrawImageDisabled verwenden.
Das ist auch gar nicht so schwer. Ich hab bereits einen eigenen Button der links, rechts und in der mitte ein Bild hat.
Die Bilder links und rechts lassen sich wahlweise ein und ausblenden (Für eine Art Toolbar zB).
Weiterhin kann er auch Pfeile anzeigen die ich in einen GraphicsPath erstelle
und mit Graphics.DrawPath( Pen, GraphicsPath ) drauf male.
Diese lassen sich zudem mithilfe einer Matrix in jede beliebige Richtiung drehen.
Alles Property-gesteuert.
Mein Button zB besteht unter anderem aus diesen Klassen:
Du kannst deine Bilder bequem mit Graphics.DrawImage( Bitmap, Rectangle ) auf deinen Button zeichnen.
Und wenn Du deinen Button "disabled" zeichnen möchtest,
kannst dafür System.Windows.Forms.ControlPaint.DrawImageDisabled verwenden.
Das ist auch gar nicht so schwer. Ich hab bereits einen eigenen Button der links, rechts und in der mitte ein Bild hat.
Die Bilder links und rechts lassen sich wahlweise ein und ausblenden (Für eine Art Toolbar zB).
Weiterhin kann er auch Pfeile anzeigen die ich in einen GraphicsPath erstelle
und mit Graphics.DrawPath( Pen, GraphicsPath ) drauf male.
Diese lassen sich zudem mithilfe einer Matrix in jede beliebige Richtiung drehen.
Alles Property-gesteuert.
Mein Button zB besteht unter anderem aus diesen Klassen:
- ButtonBase - Stellt alle Ereignisse zur Verfügung.
- ImageButton - Zeichnet den Button.
- ImageButtonDesigner - Erbt von ControlDesigner und entfernt ein paar Propertys die nicht mehr benötigt werden.
Beispielsweise die hier:
C#:
public class ImageButtonDesigner : ControlDesigner {
protected override void PostFilterProperties( IDictionary properties ) {
properties.Remove( "BackgroundImage" );
properties.Remove( "BackColor" );
}
}
- ImageRectangles - Speichert und berechnet die Rectangles der Bilder.
Zuletzt bearbeitet: