如何在C#中的面板内绘制一个矩形?

时间:2013-03-31 11:27:54

标签: c# paint

我想绘制一个矩形,我想根据面板底部给出它的位置。

    public void populateTable(int x, int y)
    {
        using (Graphics g = this.CreateGraphics())
        {
            Brush b = new SolidBrush(Color.Red);
            g.FillRectangle(b, x, y, 100, 40);
        }

    }

当我执行上面的代码时,矩形成功创建。但它的定位是关于形式,而不是面板。如果我把x = 10,y = 10,那么它会显示在表格的左上角。但我想把它放在我放置面板的底部。

1 个答案:

答案 0 :(得分:2)

this.CreateGraphics()this创建一个Graphics对象,这是一个封闭的类 - 在这种情况下是表单。

您应该尝试panel1.CreateGraphics()

但是,我建议不要使用CreateGraphics。最好处理OnPaint,以便在重新绘制表单(最小化然后最大化等)时重绘您的图形。