2012-11-25 88 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的一個更長的矩形。