0

我正在将多个图像加载到一个Panel( aPictureBoxes内的多个Panel)中,并且希望在调整 Windows 窗体大小时调整图像大小。

这是我的代码:

foreach (string filename in ofdmulti.FileNames){
    picbox[i] = new PictureBox();
    picbox[i].Size = new System.Drawing.Size(256, 256);
    picbox[i].SizeMode = PictureBoxSizeMode.Zoom;
    picbox[i].Dock = DockStyle.Fill;
    i++;
}

但是后来我看不到多张图像,只有一张完全拉伸,可能有什么问题?

4

2 回答 2

2

您的代码有多个问题。首先,这行代码将确保您只看到一个PictureBox......可能是您添加的最后一个:

picbox[i].Dock = DockStyle.Fill;

其次,我没有看到您正在设置PictureBox Location,所以它们都将Point(0, 0),这意味着即使无论设置如何,它们都会在某种程度上重叠Dock

如果您想获得一个不错的安排,例如 Tiled,那么您可以使用TableLayoutPanel. 这将允许您使用 描述网格模式,Rows然后ColumnsPictureBox控件添加到网格中。

当然,还有其他选择,具体取决于您的目标。

于 2013-07-31T14:42:19.033 回答
0

用您调整大小的图像替换 picturebox.Image,并使用 sizemode.AutoSize!

于 2015-02-11T04:54:54.110 回答