Hi all,
Ich zeichne den Gitter auf dem Form, doch doublebuffer Gieraffe bekomme ich nicht hin. hier ist der Quelltext dazu:
public partial class Form1 : Form
{
Bitmap BackBuffer;
Graphics BufferGraphics;
public Form1()
{
InitializeComponent();
BackBuffer = new Bitmap(ClientRectangle.Width, ClientRectangle.Height);
BufferGraphics = Graphics.FromImage(BackBuffer);
}
protected override void OnPaint(PaintEventArgs e)
{
BufferGraphics.Clear(Color.Black);
DrawGrid(BufferGraphics);
e.Graphics.DrawImageUnscaled(BackBuffer, 0, 0);
}
protected override void OnPaintBackground(PaintEventArgs pevent)
{
//Don't allow the background to paint
}
private void DrawGrid(Graphics grfx)
{
Pen pen = new Pen(Color.Green);
int j = 0; int i = 0;
for (; i < this.ClientRectangle.Height; i += 2)
grfx.DrawLine(pen, new Point(0, i), new Point(ClientRectangle.Width, i));
for (; j < ClientRectangle.Width; j += 2)
grfx.DrawLine(pen, new Point(j, 0), new Point(j, ClientRectangle.Height));
}
private void Form1_Resize(object sender, EventArgs e)
{
BackBuffer = new Bitmap(ClientRectangle.Width, ClientRectangle.Height);
BufferGraphics = Graphics.FromImage(BackBuffer);
}
Da ich habe so was ähnliches in C builder programmiert, dachte ich mir dasselber muss doch auch in C# gehen.
Also bin sehr dankbar wenn Ihr, Profies, helfen würdet 🙂
Ps. http://www.bobpowell.net/doublebuffer.htm habe ich schon angeschaut