C#面板 - 绘图问题

时间:2017-02-24 18:03:06

标签: c# winforms 2d drawing

我正在尝试为我的下一个游戏编写自己的游戏编辑器,虽然我在TileMap Creator上工作时遇到了一些小问题,我制作了一个Panel并开始绘制小的32x32矩形基于宽度和宽度地图的高度,直到现在都很好,但如果我试图增加地图大小,让我们说300x300没有任何东西显示在窗口上,我将不得不全屏调整窗口大小以便看到矩形。

我发布了描述问题和代码的图片。 有没有人知道为什么它会这样显示?

Image of the problem

代码:

private List<Rectangle> Rectangles = new List<Rectangle>();
private Graphics g;

private void mapArea_Paint(object sender, PaintEventArgs e)
{
    g = e.Graphics;

    if (Rectangles.Count != 0)
        g.DrawRectangles(Pens.LightGray, Rectangles.ToArray());
}
private void GameEditor_SizeChanged(object sender, EventArgs e)
{
    mapArea.Size = new Size(this.Size.Width, this.Size.Height);

}
private void mapTab_newMap_createMap_Click(object sender, EventArgs e)
{
    for (int i = 0; i < Convert.ToInt32(mapTab_mapWidth.TextBoxText); i++)
    {
        for (int j = 0; j < Convert.ToInt32(mapTab_mapHeight.TextBoxText); j++)
        {
            Rectangle rect = new Rectangle(new Point(i * 32, j * 32), new Size(32, 32));
            Rectangles.Add(rect);
        }
    }
}

此外,我似乎无法找到如何在面板中实现放大/缩小/鼠标移动,是否可以完成?

0 个答案:

没有答案