我正在尝试在Panel控件中显示图像(我正在使用WinForms),但图像大于面板的最大尺寸(32767像素)。
我在互联网上搜索了这个问题,但是我只找到了一些我不理解的现成解决方案,因此不想使用它们。
除了使用WPF之外,还有什么方法可以解决这个问题?
截至目前,我正在考虑手动迭代Panel中的控件并根据需要更改其位置,但是,我认为它不会非常高效和丑陋。
重现问题的示例代码:
for (int i = 0; i < 300; i++) {
PictureBox picbox = new PictureBox();
picbox.BackColor = Color.Red;
picbox.Width = 500;
picbox.Height = 250;
picbox.Top = i * 500;
panelDisplay.Controls.Add(picbox);
}
答案 0 :(得分:0)
听起来我可能会尝试使用多个面板。
非常粗略:
// (5 of these) x (60 pictureboxes in each) = 300 images in all:
for (int panelNumber = 0; panelNumber < 5; panelNumber++) {
Panel panel = new Panel();
panel.Height = 30000;
panel.Top = panelNumber * 30000;
// ...anything else needed to set up the panel...
for (int PictureBoxNr = 0; PictureBoxNr< 60; PictureBoxNr++) {
PictureBox picbox = new PictureBox();
picbox.BackColor = Color.Red;
picbox.Width = 500;
picbox.Height = 250;
picbox.Top = PictureBoxNr * 500;
panel.Controls.Add(picbox);
}
outerPanel.Controls.Add(panel);
}