Ich versuche, einen Graph Maker (Graph-Theorie) zu tun, aber ich habe ein Problem, immer wenn ich versuche, einen Vertex (Kreis) Auf einem Panel wird es nicht angezeigt.Visual C# - Zeichnen eines Kreises auf einem Panel, aber es zeigt sich nicht
Meine Farbe Eventhandler ist die folgende:
private void panel1_Paint(object sender, PaintEventArgs e)
{
foreach (Vertex v in vertices)
{
e.Graphics.FillEllipse(brush_v, v.X - Vertex.Radius, v.Y - Vertex.Radius, 2 * Vertex.Radius, 2 * Vertex.Radius);
MessageBox.Show(String.Format("({0},{1}), r = {2})", v.X, v.Y, Vertex.Radius));
}
}
Nun ist die Message-Box jedes Mal wenn ich auf dem Panel klicken zeigt nach oben, aber der Kreis zeigt sich nicht.
Der Code, der panel1.Invalidate() aufruft, ist dies:
private void panel1_MouseClick(object sender, MouseEventArgs e)
{
switch (status)
{
case States.Null:
break;
case States.V_New:
vertices.Add(new Vertex(e.X, e.Y));
panel1.Invalidate();
break;
case States.E_New:
break;
case States.V_Remove:
break;
case States.E_Remove:
break;
default:
break;
}
}
Und die Bürste am Form1 Konstruktor erstellt:
brush_v = new SolidBrush(Color.FromArgb(0x0F48B7));
ich Visual Studio Express bin mit 2013
Legen Sie niemals eine MessageBox in einen Farbaufruf. – LarsTech