Vol*_*ort 10 vb.net scrollbar picturebox winforms autoscroll
有时候,我有一个图片盒可以说是100x100.但它显示的图像实际上是100x400.
我不想增加图片框本身的大小.相反,我想创建一个垂直滚动条(或根据需要水平).
我在工具箱中找不到滚动条,所以我想我必须编写它.但是,怎么样?而且我仍然想知道我是否没有犯错并且没有看到工具箱中的滚动条.我道歉:(
Cod*_*ray 19
我想你可以添加单独的滚动条控件并将它们的Scroll事件与PictureBox绘制中的图片的偏移同步,但这听起来像是实际的工作.还有更好的方法.
将Panel控件添加到窗体,并将其AutoScroll属性设置为"True".这将导致控件在包含位于其当前可见边界之外的内容时自动显示滚动条..NET Framework将为您完成所有内容,无需编写任何代码.
将PictureBox控件拖放Panel到刚刚添加的控件中.然后,Panel控件将检测其子控件之一是否大于其可见区域并显示滚动条,这要归功于该AutoScroll属性.当用户移动滚动条时,您的图像中PictureBox可见的部分将自动调整.魔法.
(您必须将Panel控件用作容器的原因是因为PictureBox不直接从ScrollableControl基类继承,这是提供AutoScroll属性的基础.)
我尝试过这个并且效果很好。但我注意到,如果图片框停靠在面板中,图片框会自动设置为父面板的大小,并且不能设置得更大(至少我找不到任何方式)。这违背了该技术的目的。因此,将图片框放在面板上,但不要停靠它,它将完美地工作。