我目前正試圖繪製一個簡單的矩形,其大小和位置與表單大小有關。 我想我得到了相對於表單大小的矩形的寬度和高度。不過,我似乎無法得到x和y點來做同樣的事情。相對於表單大小繪製一個矩形
代碼:
using System;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
public class DrawFill : Form
{
public DrawFill()
{
Size = new Size(500, 300);
Text = "Draw and Fill";
BackColor = Color.White;
}
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen blue = new Pen(Color.Blue, 3);
// Width is 100, Height is 50
g.DrawRectangle(blue, 10,20, (Width - 100)/3, (Height - 50)/3));
g.FillRectangle(Brushes.Red, 150, 20, (Width - 100)/3, (Height - 50)/3);
base.OnPaint(e);
}
public static void Main()
{
Application.Run(new DrawFill());
}
}
我每次放大兩個矩形相互重疊的形式,這讓我覺得在x,y,不按屏幕尺寸發生變化。有人能指引我走向正確的方向嗎?
改爲使用ClientSize屬性。在Resize事件處理程序中調用Invalidate(),以便使用新大小重新繪製它。並在構造函數中將ResizeRedraw和DoubleBuffered屬性設置爲* true *。 – 2014-10-22 06:23:56