Visual C# - 在面板上绘制一个圆圈,但它没有显示出来

时间:2016-12-22 20:11:03

标签: c# graphics panel

我试图做一个图形制作器(图论),但是我遇到了一个问题,每当我尝试在面板上绘制一个顶点(圆圈)时它就不会显示出来

我的paint eventhandler如下:

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));

    }
}

现在每次点击面板时都会显示消息框,但圆圈不会显示。

调用panel1.Invalidate()的代码是:

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;
    }
}

刷子是在Form1构造函数中创建的:

brush_v = new SolidBrush(Color.FromArgb(0x0F48B7));

我使用的是VisualStudio Express 2013。

1 个答案:

答案 0 :(得分:-1)

似乎问题是画笔的颜色。