网格上的最后一行不会出现

时间:2012-03-12 02:06:02

标签: c# grid gdi+ gdi

我正在使用GDI +和C#在PictureBox中绘制一个网格,其中包含以下函数和值:

nbTilesX = 5;
        nbTilesY = 5;
        tileWidth = 64;
        tileHeight = 64;

public void DisplayGrid()
    {
        Pen pen = new Pen(Color.Black);
        pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;

        for (int i = 0; i <= nbTilesX; i++)
        {
            this.graphic.DrawLine(pen, i*tileWidth, 0, i*tileWidth, nbTilesY*tileHeight);

        }       
        for (int j = 0; j <= nbTilesY; j++)
        {
            this.graphic.DrawLine(pen, 0, j*tileHeight, nbTilesX*tileWidth, j * tileHeight);
        }
        this.graphic.Dispose();     
    }

结果如下:http://www.hostingpics.net/viewer.php?id=285423grille.jpg (我不能直接在这里上传图片,因为我是新注册的用户......对不起)

缺少水平和垂直最后一行。即使我把“for(int i =; i&lt; = 30; i ++)”,结果仍然是相同的。该地区以外没有任何东西。

有人能帮助我吗? 谢谢, 初学者。

1 个答案:

答案 0 :(得分:0)

您能显示实例化控件的代码吗?

i==5j==5时,坐标为320.问题是,如果图形设置为320x320,则基于0(0到319),因此坐标超出边界。