Панель C# - Рисование проблемы
Я пытаюсь написать свой собственный редактор игр для своих следующих игр, хотя с некоторыми небольшими проблемами я столкнулся, когда работал над TileMap Creator, я создал панель и начал рисовать маленькие прямоугольники 32x32 на основе Ширина и высота карты, все хорошо до сих пор, но если я попытаюсь увеличить размер карты, скажем, 300x300, то ничего не отображается в окне, и мне придется полноэкранный изменить размер окна, чтобы увидеть прямоугольники.
Я разместил изображение, описывающее проблему и код. У кого-нибудь есть идеи, почему это так показывается?
Код:
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);
}
}
}
Также я не могу найти, как реализовать увеличение / уменьшение / перемещение мышью на панели, это может быть сделано?