我有一个矩形,我正在绘制一个表格。矩形是编码的。我想根据表单的大小调整该矩形的大小,即在调整表单大小时,矩形按照大小调整大小。我该怎么做? 我是否需要对绘制矩形的方式进行更改,现在就像这样:Rectangle rect = new Rectangle(0,0,650,50); 我使用了Resize事件,我在其中分配了新的大小,我做了新的Size(),但这使得我的矩形从表单中消失。
答案 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事件中为矩形创建一个调整大小的函数。要保持矩形比例相对于表单大小,您必须编写一些简单的数学代码。