我如何获得Picturebox的滚动条

我有PictureBox picture

我用:

 picture.Size = bmp.Size; picture.Image = bmp; 

假设有两个整数maxWidthmaxHeigth
当尺寸超过maxWidth和/或maxHeight时,我想添加垂直/水平滚动条到picture 。 我怎样才能做到这一点?

你可以很容易地使用Panel控制

插入一个面板到你的窗体,比如说panel1并设置

panel1.AutoScroll = true;

插入一个PictureBoxPanel ,说图片和设置

 picture.SizeMode = PictureBoxSizeMode.AutoSize; 

并设置图像

 picture.Image = bmp; 

希望这可以帮助

这里有一个项目,其中一个人build立了一个ImagePanel用户控件,你可以把它放到一个表单上; 它给你滚动条和缩放function。

http://www.codeproject.com/KB/graphics/YLScsImagePanel.aspx

另一个build议是将picturebox放在FlowlayoutPanel中。

将FlowlayoutPanel的自动滚动设置为true,并将图片尺寸模式设置为正常

使用FlowlayoutPanel确保图像始终在面板上为0,0

我也通过将一个picturebox放置在一个面板控件中来工作,我将Panel的AutoScroll属性设置为true,但是我也将Panel的Autosize属性设置为True,将Panel的Dock属性设置为Fill(这样当用户调整forms – 小组也是如此)。 对于Picturebox,我将它的Dock属性设置为None,将SizeMode设置为Autosize(所以它也resize,当面板和窗体resize时,它像一个魅力,图片框有滚动条,当用户调整窗体大小时,一切仍然正确放置!

Interesting Posts