0

我想画一个矩形,我想给它相对于面板底部的位置。

    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,那么它就会显示在表格的左上角。但我想在我放置面板的底部显示它。

4

1 回答 1

2

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

你应该试试panel1.CreateGraphics()

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

于 2013-03-31T11:37:54.463 回答