-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 に答える