Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';使用滚动条创建动态大小面板的方法_C#_Winforms - Fatal编程技术网

C# 什么';使用滚动条创建动态大小面板的方法

C# 什么';使用滚动条创建动态大小面板的方法,c#,winforms,C#,Winforms,我正在为一个游戏做关卡编辑器,你这个标准的平台编辑器。默认情况下,标高大小为24_高和32_宽,两者都乘以32的瓷砖大小。因此,默认情况下,面板容器大小为1024 x 768 可以使用重新调整面板大小的windows窗体更改行和列。这就是我遇到问题的地方。默认大小看起来不错,但当增加其大小时,面板本身不会锁定为当前大小,而是分别在宽度和高度上延伸 我想要的是它被锁定在其默认大小,并有滚动条出现在适当的位置时,面板得到任何大于默认值 出于这个原因,我查看了events选项卡中的autoscroll

我正在为一个游戏做关卡编辑器,你这个标准的平台编辑器。默认情况下,标高大小为24_高和32_宽,两者都乘以32的瓷砖大小。因此,默认情况下,面板容器大小为1024 x 768

可以使用重新调整面板大小的windows窗体更改行和列。这就是我遇到问题的地方。默认大小看起来不错,但当增加其大小时,面板本身不会锁定为当前大小,而是分别在宽度和高度上延伸

我想要的是它被锁定在其默认大小,并有滚动条出现在适当的位置时,面板得到任何大于默认值

出于这个原因,我查看了events选项卡中的autoscroll选项,但将其设置为true似乎没有什么区别(因为即使面板离开表单,它也不会出现)。我考虑更改max size值(当前为32000,32000),认为我仍然可以通过代码重新调整它的大小,但不能以相同的方式显示它。它不起作用

如果有必要,画图代码,尽管考虑到我刚刚开始这个项目,它是非常空的

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
我已编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。