如何根据绘制的形式调整矩形的大小?

时间:2010-06-29 10:54:58

标签: c# winforms

我有一个矩形,我正在绘制一个表格。矩形是编码的。我想根据表单的大小调整该矩形的大小,即在调整表单大小时,矩形按照大小调整大小。我该怎么做? 我是否需要对绘制矩形的方式进行更改,现在就像这样:Rectangle rect = new Rectangle(0,0,650,50); 我使用了Resize事件,我在其中分配了新的大小,我做了新的Size(),但这使得我的矩形从表单中消失。

3 个答案:

答案 0 :(得分:2)

在表单的OnPaint处理程序中添加以下内容:

rect.Width = this.Width;
rect.Height = this.Height;

这应该保持表格填满你的矩形。

OnPaint事件应如下所示:

    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);

        rect.Width = this.Width;
        rect.Height = this.Height;
    }

每次重新绘制表单时,这都会调整矩形的大小,包括调整大小。

答案 1 :(得分:1)

您应该在OnPaint方法的覆盖处完成表单的所有绘制。如果要使矩形的大小相对于Form的大小,则每次绘制矩形时都需要检查表单的大小。

你不应该对Resize事件做任何事情(可能只是缓存矩形所需的大小,以避免每次调用OnPaint时都要计算这个大小。)

答案 2 :(得分:-1)

为此,您必须在表单的Form Resize事件中为矩形创建一个调整大小的函数。要保持矩形比例相对于表单大小,您必须编写一些简单的数学代码。