我有PictureBox picture
。
我用:
picture.Size = bmp.Size;
picture.Image = bmp;
假设有两个整数maxWidth
和maxHeigth
我希望在其大小超过picture
和/或maxWidth
时将垂直/水平滚动条添加到maxHeight
。我怎么能这样做?
答案 0 :(得分:127)
您可以使用Panel
控制
将面板插入表单,例如panel1并设置
panel1.AutoScroll = true;
将PictureBox
插入Panel
,比如图片并设置
picture.SizeMode = PictureBoxSizeMode.AutoSize;
并设置图像
picture.Image = bmp;
希望这会有所帮助
答案 1 :(得分:4)
这是一个项目,其中一个人建立了ImagePanel
用户控件,您可以将其放到表单上;它为您提供滚动条和缩放功能。
答案 2 :(得分:1)
我通过在面板控件中放置一个图片框来实现它,我将Panel的AutoScroll属性设置为true,但我还将Panel的Autosize属性设置为True,并将Panel的Dock属性设置为Fill(当时用户调整表单的大小 - Panel也是如此。对于Picturebox,我将它的Dock属性设置为None,将SizeMode设置为Autosize(因此当Panel和form Resizes时它也会调整大小。它像魅力一样工作,Picturebox有Scrollbars,当用户调整表单大小时 - 一切都还是正确放置!
答案 3 :(得分:0)
另一个建议是将图片框放在FlowlayoutPanel中。
将FlowlayoutPanel的自动滚动设置为true并将图片大小模式设置为正常
使用FlowlayoutPanel可确保图像在面板中始终为0,0
答案 4 :(得分:0)
对我有用。
PictureBox picture = new PictureBox();
picture.Image=Image.FromFile("image.bmp");
picture.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
Panel panel = new Panel();
panel.Size=new Size(800,600);
panel.Location=new Point(0,0);
panel.AutoScroll=true;
panel.Controls.Add(picture);
this.Controls.Add(panel);