C# 什么';使用滚动条创建动态大小面板的方法
我正在为一个游戏做关卡编辑器,你这个标准的平台编辑器。默认情况下,标高大小为24_高和32_宽,两者都乘以32的瓷砖大小。因此,默认情况下,面板容器大小为1024 x 768 可以使用重新调整面板大小的windows窗体更改行和列。这就是我遇到问题的地方。默认大小看起来不错,但当增加其大小时,面板本身不会锁定为当前大小,而是分别在宽度和高度上延伸 我想要的是它被锁定在其默认大小,并有滚动条出现在适当的位置时,面板得到任何大于默认值 出于这个原因,我查看了events选项卡中的autoscroll选项,但将其设置为true似乎没有什么区别(因为即使面板离开表单,它也不会出现)。我考虑更改max size值(当前为32000,32000),认为我仍然可以通过代码重新调整它的大小,但不能以相同的方式显示它。它不起作用 如果有必要,画图代码,尽管考虑到我刚刚开始这个项目,它是非常空的C# 什么';使用滚动条创建动态大小面板的方法,c#,winforms,C#,Winforms,我正在为一个游戏做关卡编辑器,你这个标准的平台编辑器。默认情况下,标高大小为24_高和32_宽,两者都乘以32的瓷砖大小。因此,默认情况下,面板容器大小为1024 x 768 可以使用重新调整面板大小的windows窗体更改行和列。这就是我遇到问题的地方。默认大小看起来不错,但当增加其大小时,面板本身不会锁定为当前大小,而是分别在宽度和高度上延伸 我想要的是它被锁定在其默认大小,并有滚动条出现在适当的位置时,面板得到任何大于默认值 出于这个原因,我查看了events选项卡中的autoscroll
private void MapPanel_Paint(object sender, PaintEventArgs e)
{
if (MapPanel.Width < (oMapGrid.TileColsValue * oMapGrid.TileSizeValue))
MapPanel.Width = (oMapGrid.TileColsValue * oMapGrid.TileSizeValue);
if (MapPanel.Height < (oMapGrid.TileRowsValue * oMapGrid.TileSizeValue))
{
MapPanel.Height = (oMapGrid.TileRowsValue * oMapGrid.TileSizeValue);
MapPanel.AutoScroll = true;
}
for (int Row = 0; Row < oMapGrid.TileRowsValue; Row++ )
{
oPen_and_Brush.ClassGraphics.DrawLine(oPen_and_Brush.ClassPen, 0, Row * oMapGrid.TileSizeValue, MapPanel.Width, Row * oMapGrid.TileSizeValue);
}
for (int Col = 0; Col < oMapGrid.TileColsValue; Col++)
{
oPen_and_Brush.ClassGraphics.DrawLine(oPen_and_Brush.ClassPen, Col * oMapGrid.TileSizeValue, 0, Col * oMapGrid.TileSizeValue, MapPanel.Height);
}
}
private void mapppanel_Paint(对象发送器,PaintEventArgs e)
{
如果(MapPanel.Width<(oMapGrid.TileColsValue*oMapGrid.TileSizeValue))
mapppanel.Width=(oMapGrid.TileColsValue*oMapGrid.TileSizeValue);
如果(MapPanel.Height<(oMapGrid.TileRowsValue*oMapGrid.TileSizeValue))
{
MapPanel.Height=(oMapGrid.TileRowsValue*oMapGrid.TileSizeValue);
MapPanel.AutoScroll=true;
}
对于(int Row=0;Row
我已编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。