繁体   English   中英

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

[英]How can I draw a rectangle inside a panel in C#?

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

    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创建一个Graphics对象,它是封闭类 - 在本例中为表单。

你应该尝试使用panel1.CreateGraphics()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM