[.NET Concept]善用AutoScroll达到用滚动卷动显示内容的效果

善用AutoScroll达到用滚动卷动显示内容的效果


时常会在讨论区碰到有人提问内容过长想要增加滚动效果这类的问题,通常多半这类的提问者都会陷入如何使用VScrollBar或是HScrollBar的迷思。事实上要达到这效果其实可以不需要使用这两个控件,只需善用容器类的AutoScroll属性,经过设定属性的动作,不须撰写半行程序即可达成。

举个例子来说,假设今天我要显示一张很大的图片在表单上,我们可以依下列步骤设定:

Step1.设定表单的AutoScroll属性为True

image_thumb7

Step2.加入PictureBox控件到设计表单

image_thumb1

Step3.设定PictureBox显示的图片

image_thumb5

Step4.把PictureBox的SizeMode设为AutoSize,让PictureBox控件可以随着图片自行调整大小。

image_thumb6

设完后设计界面会变成如下图所示,滚动效果已出现。

image_thumb9

如此简单的滚动显示效果就完成了,执行后效果如下。

image_thumb16

再来看个例子,假设今天我只想在某区域放个需有滚动显示效果的内容的话又该怎么做呢?其实步骤也差不多,我们可以依下列步骤设定:

Step1.放入Panel控件至设计界面

image_thumb20

Step2.设定Panel的AutoScroll属性为True

image_thumb22

Step3.放入PictureBox控件至Panel

image_thumb23

Step4.设定PictureBox显示的图片

image_thumb5

Step5.把PictureBox的SizeMode设为AutoSize ,让PictureBox控件可以随着图片自行调整大小。

image_thumb24

设完后设计界面会变成如下图所示,滚动效果已出现。

image_thumb26

执行后效果如下

image_thumb28

P.S.

  1. 以上范例虽都示范显示图片,但实际应用上不限于此,只要有设定AutoScroll属性,则当内部的控件超过容器时,自动会有滚动效果出现。
  2. 上面范例的Panel也可换成其它容器控件

Conclusion

善用.NET组件很多功能其实很容易达成,并没有想像中那么难。当然要用VScrollBar与HScrollBar应该也是可以做到一样的效果,不过要耗多少功就不得而知了。

相关连结

  1. 程序设计俱乐部 - 如何模拟Word表格编辑模式

原文:大专栏  [.NET Concept]善用AutoScroll达到用滚动卷动显示内容的效果

相关文章
相关标签/搜索