2013-03-16 46 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

相关问题