2012-11-25 89 views
1

我有一个类“Making”将一个矩形绘制到Form1类中。在C中绘制三个矩形#

的问题是,我在Form1以创建在不同位置的两个矩形多,但我不知道如何绘制两个矩形在同一类

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); 
+1

看起来您正在绘制7个半重叠的矩形(全部具有相同的Y值)。使用参数创建制作类的单独实例来设置矩形的位置。或者类的一个实例,将x和y的参数传递给drawMaking()方法 – pinkfloydx33

回答

1

的问题不在于矩形未被绘制,那就是所有的矩形是在一条线上,所以你会与S的三个重叠的矩形结束高度和颜色。它们看起来像是从x = 30到60的一个更长的矩形。