-3

我想画一个这样的网格: 在此处输入图像描述

我希望能够设置每个矩形个体的颜色。我还希望能够将特定的矩形设置为透明的。

在 MonoTouch / C# 中绘制这样的网格的最简单方法是什么?

4

1 回答 1

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是网格中水平方格的数量,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));
}

请注意,这是您想在 WinForms 中使用 C# 绘制的代码,您可以在任何其他技术中使用类似的代码。

于 2013-03-16T13:53:53.943 回答