C# 调整窗体大小时调整PictureBox的大小
我正在将多个图像加载到C# 调整窗体大小时调整PictureBox的大小,c#,.net,resize,picturebox,image,C#,.net,Resize,Picturebox,Image,我正在将多个图像加载到面板(在面板中有多个图片框),并希望在调整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;
面板
(在面板
中有多个图片框
),并希望在调整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++;
}
但是我看不到多个图像,只有一个图像,并且完全拉伸,可能有什么问题?您的代码有多个问题。首先,这一行代码将确保您只看到一个
PictureBox
…很可能是您添加的最后一个:
picbox[i].Dock = DockStyle.Fill;
其次,我看不到您正在设置PictureBox
位置
,因此它们都将指向点(0,0)
,这意味着即使不考虑停靠
设置,它们也会在某种程度上重叠
如果您试图获得一个好的安排,例如平铺,那么您可以使用表格布局面板
。这将允许您使用行
和列
描述网格模式,然后将图片框
控件添加到网格中
当然,还有其他选项,具体取决于您的目标。将picturebox.Image替换为已调整大小的图像,然后使用sizemode.AutoSize @Skippy看起来像C#to meDockStyle。Fill将控件放大以填充其父控件的全部内容。感谢您的回复。首先,这是C#。NET。我使用了TableLayoutPanel来包含PictureBox,效果很好,现在我使用TableLayoutPanel的“Add”方法将它们放置在行和列中。现在,如果我将tablelayoutpanel的属性设置为AutoScroll=True,那么它不会在添加滚动条(垂直和水平)时自动调整图像大小。在TableLayoutPanel中没有滚动条的情况下滚动图像的最佳方式是什么?