65.9K
CodeProject 正在变化。 阅读更多。
Home

图像幻灯片控件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.96/5 (21投票s)

2014年6月4日

CPOL

2分钟阅读

viewsIcon

32509

downloadIcon

2632

一个 Windows Forms 控件, 用于以幻灯片形式查看带字幕的图像

引言

作为一名Web开发者,我经常使用各种图像轮播插件来轮换图片。由于有各种各样的插件可供选择,我从来不需要自己开发一个。然而,在最近开发一个Windows Forms应用程序时,我无法找到类似的控件,或者至少是具有我想要的一些功能的控件。不想花太多时间搜索,我决定自己开发一个。

控件的工作原理

ImageSlider控件继承自Panel控件,并且重写了它的OnPaint方法,以便可以在Panel的表面绘制图像。图像和标题在内部维护在一个类型为stringImageList集合中。使用List集合可以很容易地使用索引访问一个元素。ImageSlider导航按钮(如上图所示),只是简单地递增或递减一个内部索引。每次单击导航按钮时,都会调用PanelInvalidate()方法,这将执行OnPaint()方法。OnPaint方法使用新的索引值从各自的集合中查找图像路径和标题,并加载新的图像和标题。

此外,OnPaint()方法负责使用Timer来动画标题文本。当单击导航按钮时启动计时器,并在动画完成时释放计时器。

下面是方法和属性的列表。

属性

  • CaptionHeight - 设置标题区域的高度
  • CaptionTextLeft - 设置标题文本相对于标题区域的左侧位置
  • CaptionBackgrounColor - 设置标题背景颜色
  • CaptionOpacity - 设置标题背景透明度
  • CaptionAnimationSpeed - 设置标题文本的滚动速度
  • Animation - 布尔值,用于开启或关闭动画
  • LeftButton - 返回左侧导航按钮,以便可以配置按钮的属性
  • RightButton - 返回右侧导航按钮,以便可以配置按钮的属性

方法

  • AddImage(string path)
  • AddImage(string path, string caption)
  • AddImage(string path, string caption, Color captionBackgroundColor)
  • AddImage(Image path)
  • AddImage(Image path, string caption)
  • AddImage(Image path, string caption, Color captionBackgroundColor)

Using the Code

创建一个ImageSlider控件的新实例。使用AddImage方法将图像添加到ImageSliderAddImage()方法有三个重载。您可以添加没有标题的图像,也可以为图像设置标题。第三个参数允许您设置标题区域的背景颜色。

imageSlider1.AddImage("Chrysanthemum.jpg", 
                      "A caption for the image goes here", Color.Maroon);  
imageSlider1.AddImage("Desert.jpg", "What an amazing photo.", Color.Gold);  
imageSlider1.AddImage("Hydrangeas.jpg", "For me?...blush blush", Color.LimeGreen);  
imageSlider1.AddImage("Jellyfish.jpg", 
                      "So... what sort of fish are you again?", Color.Orange);  
imageSlider1.AddImage("Koala.jpg", "Will you be my friend?", Color.Gray);  
imageSlider1.AddImage("Lighthouse.jpg", "Must be a great view from up there");  
imageSlider1.AddImage("Penguins.jpg", "Fish anyone?", Color.Navy);  
imageSlider1.AddImage(Image.FromFile("Tulips.jpg"), 
                      "You cant go wrong with tulips", Color.LightSkyBlue); 

这标志着本文的结束。 请随时留下您的评论和建议。

历史

  • 2014年6月4日:初始版本
© . All rights reserved.