我有PictureBox picture
。
我用:
picture.Size = bmp.Size;
picture.Image = bmp;
假设有两个整数maxWidth
和maxHeigth
。
我想picture
在其大小超过maxWidth
和/或时添加垂直/水平滚动条maxHeight
。我怎样才能做到这一点?
Answers:
您可以轻松地使用Panel
Control
在面板中插入一个面板,例如panel1并设置
panel1.AutoScroll = true;
插入一PictureBox
到Panel
,说画面和设定
picture.SizeMode = PictureBoxSizeMode.AutoSize;
并设置图像
picture.Image = bmp;
希望这可以帮助
这是一个人在其中构建ImagePanel
用户控件的项目,您可以将其放到表单上。它为您提供滚动条和缩放功能。
我还通过在面板控件中放置一个图片框来使其工作,将面板的AutoScroll属性设置为true,但也将面板的Autosize属性设置为True,并将面板的Dock属性设置为Fill(这样,当用户调整大小时表格-小组也是如此)。对于Picturebox,我将其Dock属性设置为None,将SizeMode设置为Autosize(因此,当Panel和Form调整大小时,它也会重新调整大小。它像一个超级按钮一样工作,Picturebox具有滚动条,并且当用户调整表格大小时-一切仍然是放置正确!
它对我有用。
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);