1

Form1 クラスに 1 つの Rectangle を描画する "Making" クラスを 1 つ取得しました。

問題は、フォーム1の異なる位置にさらに2つの長方形を作成する必要があることですが、同じクラスにさらに2つの長方形を描画する方法がわかりません

Making.cs:

    class Making
{
    public Rectangle[] makingRec;
    private SolidBrush brush;
    private int x, y, width, height;

    public Making()
    {
        makingRec = new Rectangle[7];
        brush = new SolidBrush(Color.Red);

        x = 50;
        y = 50;
        width = 10;
        height = 10;

        for (int i = 0; i < makingRec.Length; i++)
        {
            makingRec[i] = new Rectangle(x, y, width, height);
            x -= 10;
        }

    }

    public void drawMaking(Graphics paper)
    {
        foreach (Rectangle making in makingRec)
        {
            paper.FillRectangle(brush, making);
        }

    }}
}

Form1.cs:

    public partial class Form1 : Form
{
    Graphics paper;
    Making making = new Making();

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        paper = e.Graphics;
        making.drawMaking(paper);
4

1 に答える 1

1

問題は、四角形が描画されていないことではなく、すべての四角形が一列に並んでいるため、高さと色が同じ 3 つの四角形が重なってしまうことです。x = 30 から 60 までの 1 つの長い長方形のように見えます。

于 2012-11-25T02:19:21.463 に答える