如何在面板中绘制矩形?

本文关键字:绘制 | 更新日期: 2023-09-27 18:06:36

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

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

如何在面板中绘制矩形?

this.CreateGraphics()this创建一个图形对象,这是封闭类—本例中的表单。

你应该试试panel1.CreateGraphics()

但是,我建议根本不要使用CreateGraphics。最好是处理OnPaint,这样当窗体被重画时,你的图形会被重画(最小化然后最大化等)。