DraconiX
2011-11-19, 03:28:30
hiho....
ich habe ja nun mich ein wenig in C# und Windowsprogrammierung allgemein eingearbeitet. Nun will ich mir mit C# Express ein Steuerelement basteln, funktioniert auch - jedoch stoße ich da auf ein kleines Problem. Es ist ein Zeitdiagramm, welches ich mit einer Picturebox realisieren will. Leider jedoch "flakert" es und man kann quasi beim bildaufbau zusehen, kann man das irgendwie zwischenpuffern das man das fertig aufgebaute bild an die Picturebox übergibt?!? Momentan mache ich es so:
private void PaintGraph()
{
Point[] p2 = new Point[4];
Brush myBrush = new SolidBrush(Color.DarkRed);
Pen myPen_black = new Pen(Color.DarkRed, 1);
Graphics g = pictureBox1.CreateGraphics();
g.Clear(Color.LightBlue);
for (int i = 0; i < 29; i++)
{
p2[0].X = i * 5;
p2[0].Y = werte[i];
p2[1].X = (i *5) + 5;
p2[1].Y = werte[i + 1];
p2[3].X = i*5;
p2[3].Y = 0;
p2[2].X = (i*5)+5;
p2[2].Y = 0;
g.DrawPolygon(myPen_black, p2);
g.FillPolygon(myBrush, p2);
}
pictureBox1.Update();
}
ich habe ja nun mich ein wenig in C# und Windowsprogrammierung allgemein eingearbeitet. Nun will ich mir mit C# Express ein Steuerelement basteln, funktioniert auch - jedoch stoße ich da auf ein kleines Problem. Es ist ein Zeitdiagramm, welches ich mit einer Picturebox realisieren will. Leider jedoch "flakert" es und man kann quasi beim bildaufbau zusehen, kann man das irgendwie zwischenpuffern das man das fertig aufgebaute bild an die Picturebox übergibt?!? Momentan mache ich es so:
private void PaintGraph()
{
Point[] p2 = new Point[4];
Brush myBrush = new SolidBrush(Color.DarkRed);
Pen myPen_black = new Pen(Color.DarkRed, 1);
Graphics g = pictureBox1.CreateGraphics();
g.Clear(Color.LightBlue);
for (int i = 0; i < 29; i++)
{
p2[0].X = i * 5;
p2[0].Y = werte[i];
p2[1].X = (i *5) + 5;
p2[1].Y = werte[i + 1];
p2[3].X = i*5;
p2[3].Y = 0;
p2[2].X = (i*5)+5;
p2[2].Y = 0;
g.DrawPolygon(myPen_black, p2);
g.FillPolygon(myBrush, p2);
}
pictureBox1.Update();
}