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
*Kopfkratz*
Was ist denn das Problem? Versuche bitte etwas genauer zu beschreiben, was du erreichen möchtest und was nicht funktioniert. Und welche Giraffe??
Grüße,
Andre
Original von VizOne
*Kopfkratz*Was ist denn das Problem? Versuche bitte etwas genauer zu beschreiben, was du erreichen möchtest und was nicht funktioniert. Und welche Giraffe??
Grüße,
Andre
Sorry, haben von Kollegen falsches Deutsch gelernt...
Also das Problem ist, dass wenn man das Fenster bewegt, fängt es an zu flickern un die CPU auslastung steigt auf 50%. das soll aber nicht normal sein oder?
Der Kollege von mir hat, wie er selber gesagt hat, dasselbe in Java gemacht und es lief ohne zu flickern.
Typischer Anfängerfehler, der Versuch der EIienimplementation des Doublebufferings und gleichzeitige Benutzung der WinFormsevents. Das Resultat kennst du ja.
Das geht den meisten so, weil der Komfort unerwartet daher kommt(und das ohne Vorwarnung).
Das Doublebuffering übernimmt Winforms.
Hier die Forumsübersicht:
http://www.mycsharp.de/wbb2/search.php?searchid=291884
@ikaros: Du hast vergessen, dass man Suchlinks nicht weitergeben kann 😉.
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee
Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
àhm: nö.
Ist mir nie aufgefallen...
Hab gerade ähnliches beantwortet.
ID=ID?
ID schon, nur einmalig...
grummel, jetzt weiss ichs.
Aber klar ist mir das nicht(Anwendersicht), und find ich auch daneben(SearchId sollte reproduzierbar sein).
Mhhkay jetzt bin ich schlauer, und poste lieber einen/mehrere Begriff(e) Anstelle der "imaginären" Abfragen.
Vielleicht wäre es einen Vorschlag wert(Implementierung im Forum).
Ich ging davon aus(Unkenntnis), das es funktioniert.