Graphics.DrawImage im UserControl

31/01/2008 - 09:05 von Carsten Unterberg | Report spam
Moin,

ich versuche in einem Control, was von UserControl abgeleitet ist, ein Bild
zu zeichen.
Im Konstruktor des neuen Controls erstelle ich ein Objekt vom Typ
"System.Drawing.Graphics" a la...

private System.Drawing.Graphics __Graphics;

public AnimationPlayer()
{
InitializeComponent();
this.__Graphics = this.CreateGraphics();
}

... und die Zeichen-Methode sieht wie folgt aus...

private void _Draw()
{

this.__Graphics.DrawImage(this._Image, 0, 0, this.__Image.Width,
this.__Image.Height);

}

...leider passiert überhaupt nichts. :-(

Weiß jemand Rat??


MfG
Carsten Unterberg
I try to do it
 

Lesen sie die antworten

#1 Carl Schaffert
31/01/2008 - 09:39 | Warnen spam
Hallo Carsten, guten Morgen,


ich versuche in einem Control, was von UserControl abgeleitet ist, ein
Bild
zu zeichen.
Im Konstruktor des neuen Controls erstelle ich ein Objekt vom Typ
"System.Drawing.Graphics" a la...

private System.Drawing.Graphics __Graphics;

public AnimationPlayer()
{
InitializeComponent();
this.__Graphics = this.CreateGraphics();
}

... und die Zeichen-Methode sieht wie folgt aus...

private void _Draw()
{

this.__Graphics.DrawImage(this._Image, 0, 0, this.__Image.Width,
this.__Image.Height);

}

...leider passiert überhaupt nichts. :-(

Weiß jemand Rat??



Prinzipiell solltest du für den Anfang keine eigenes Graphics-Object
erzeugen, benutze das, das dir in OnPaint übergeben wird.
Damit auf deinem Control etwas angezeigt wird, überschreibst du OnPaint oder
OnPaintBackground.

Dazu schaue dir das mal an:

http://msdn2.microsoft.com/en-us/li...paint.aspx
(Englisch)
http://msdn2.microsoft.com/de-de/li...paint.aspx
(Deutsch)

Dies wàre die Standard-Vorgehensweise, erst wenn du da an Grenzen kommst
solltest du mit eigenen/neuen Graphics-Objects arbeiten.

Gruß Carl

Ähnliche fragen