善用AutoScroll达到用滚动卷动显示内容的效果
时常会在讨论区碰到有人提问内容过长想要增加滚动效果这类的问题,通常多半这类的提问者都会陷入如何使用VScrollBar或是HScrollBar的迷思。事实上要达到这效果其实可以不需要使用这两个控件,只需善用容器类的AutoScroll属性,经过设定属性的动作,不须撰写半行程序即可达成。
举个例子来说,假设今天我要显示一张很大的图片在表单上,我们可以依下列步骤设定:
Step1.设定表单的AutoScroll属性为True
Step2.加入PictureBox控件到设计表单
Step3.设定PictureBox显示的图片
Step4.把PictureBox的SizeMode设为AutoSize,让PictureBox控件可以随着图片自行调整大小。
设完后设计界面会变成如下图所示,滚动效果已出现。
如此简单的滚动显示效果就完成了,执行后效果如下。
再来看个例子,假设今天我只想在某区域放个需有滚动显示效果的内容的话又该怎么做呢?其实步骤也差不多,我们可以依下列步骤设定:
Step1.放入Panel控件至设计界面
Step2.设定Panel的AutoScroll属性为True
Step3.放入PictureBox控件至Panel
Step4.设定PictureBox显示的图片
Step5.把PictureBox的SizeMode设为AutoSize ,让PictureBox控件可以随着图片自行调整大小。
设完后设计界面会变成如下图所示,滚动效果已出现。
执行后效果如下
P.S.
- 以上范例虽都示范显示图片,但实际应用上不限于此,只要有设定AutoScroll属性,则当内部的控件超过容器时,自动会有滚动效果出现。
- 上面范例的Panel也可换成其它容器控件
Conclusion
善用.NET组件很多功能其实很容易达成,并没有想像中那么难。当然要用VScrollBar与HScrollBar应该也是可以做到一样的效果,不过要耗多少功就不得而知了。
相关连结
- 程序设计俱乐部 - 如何模拟Word表格编辑模式
原文:大专栏 [.NET Concept]善用AutoScroll达到用滚动卷动显示内容的效果