2013-03-16 66 views

回答

1

該代碼在面板上顯示了網格的圖形,但您可以使用任何東西作爲畫布控件。請檢查下面的代碼:

 int numHorisontal = 20; 
     int numVertical; 
     int squareDim = 10; 
     int xOffset = 30; 
     int yOffset = 30; 
     void panel_Paint(object sender, PaintEventArgs e) 
     { 
      for (int i = 0; i <= numVertical; i++) 
      { 
       e.Graphics.DrawLine(Pens.Black, new Point(xOffset, yOffset + i * squareDim), new Point(xOffset + 20 * squareDim, yOffset + i * squareDim)); 
      } 
      for (int i = 0; i < numHorisontal; i++) 
      { 
       e.Graphics.DrawLine(Pens.Black, new Point(xOffset + i * squareDim, yOffset), new Point(xOffset + i * squareDim, yOffset + 20 * squareDim)); 
      } 
     } 

numHorisontal是horisontal正方形網格數量和numVertical是正方形的垂直數。 squareDim是一個正方形的大小。如果要在索引i和j上設置正方形的顏色,則可以使用以下方法。如果要將某些方塊設置爲透明,則畫布也應該是透明的(將畫布的背景顏色設置爲透明)。

private void SetColor(int i, int j, Color color, Graphics g) 
{ 
    g.FillRectangle(new SolidBrush(color), new Rectangle(i * squareDim, j + squareDim, squareDim, squareDim)); 
} 

注意,這是代碼,如果你想使用C#中的WinForms畫,你可以使用類似這樣的代碼在任何其他技術。

+0

謝謝,我會試試看。 – StackFlower 2013-03-16 13:56:07