C#的pictureBox怎样使用多张图片简单切换
2015-07-29 16:23
706 查看
首先,先创建一个新的winform项目ImageTest,选择窗体,起名我ImageForm,在ImageForm拉一个picturebox控件,一个控制器trimer,一个相册imageList,在imagesList控件中Images添加你要切换的图片,并设置一下图片的大小。以下是实际代码实现
public partial class ImageForm : Form
{
public ImageForm()
{
InitializeComponent();
}
private int ImageIndex = 0;
/// <summary>
/// 加载
/// </summary>
/// <param name="imagelist">存放图片集合</param>
/// <param name="picturebox">显示图片的框</param>
private void ImageForm_Load(object sender, EventArgs e)
{
//初始化显示第一张图片
this.pictureBox.Image = this.imageList1.Images[0];
//设置定时器切换时间间隔
this.timerImage.Interval = 1000;
//禁用定时器
this.timerImage.Enabled = false;
//设置图片的大小
// this.imageList1.ImageSize = new Size(150,150) ;
}
/// <summary>
/// 播放图片事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStart_Click(object sender, EventArgs e)
{
//启动定时器
this.timerImage.Enabled = true;
}
/// <summary>
/// 停止图片事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStop_Click(object sender, EventArgs e)
{
this.timerImage.Enabled = false;
}
/// <summary>
/// 定时器所做的事情
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timerImage_Tick(object sender, EventArgs e)
{
//当下标大于或等于相册图片个数时,返回第一张(即到了最后一张时,切换到第一张)
if(ImageIndex >= this.imageList1.Images.Count){
ImageIndex = 0;
}
//把相册imageList中的图片一一显示在picturebox中
this.pictureBox.Image = this.imageList1.Images[ImageIndex++];
}
}
public partial class ImageForm : Form
{
public ImageForm()
{
InitializeComponent();
}
private int ImageIndex = 0;
/// <summary>
/// 加载
/// </summary>
/// <param name="imagelist">存放图片集合</param>
/// <param name="picturebox">显示图片的框</param>
private void ImageForm_Load(object sender, EventArgs e)
{
//初始化显示第一张图片
this.pictureBox.Image = this.imageList1.Images[0];
//设置定时器切换时间间隔
this.timerImage.Interval = 1000;
//禁用定时器
this.timerImage.Enabled = false;
//设置图片的大小
// this.imageList1.ImageSize = new Size(150,150) ;
}
/// <summary>
/// 播放图片事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStart_Click(object sender, EventArgs e)
{
//启动定时器
this.timerImage.Enabled = true;
}
/// <summary>
/// 停止图片事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStop_Click(object sender, EventArgs e)
{
this.timerImage.Enabled = false;
}
/// <summary>
/// 定时器所做的事情
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timerImage_Tick(object sender, EventArgs e)
{
//当下标大于或等于相册图片个数时,返回第一张(即到了最后一张时,切换到第一张)
if(ImageIndex >= this.imageList1.Images.Count){
ImageIndex = 0;
}
//把相册imageList中的图片一一显示在picturebox中
this.pictureBox.Image = this.imageList1.Images[ImageIndex++];
}
}
相关文章推荐
- C# 系列——未能找到路径“..”的一部分
- c#系列——“OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常。
- 改进C# WinForm窗体及其控件的自适应
- C#中各种计时器
- c# 父类的引用指向子类的实例
- C#中的事务
- C#系列——实现鼠标忙碌状态
- C#面向对象三大特性之三:多态
- C#两路list数组归并去重
- C# WinForm开发系列 - Open-Source Controls
- C# WinForm开发系列 - ListBox/ListView/Panel
- C# WinForm开发系列 - 文章索引
- 通过C#实现自动售货机接口
- C#如何对多线程、多任务管理(demo)
- C# rmi例子
- C# 导入EXCEL 报错外部表不是预期的格式错误
- c# Winform/WPF 开发分屏显示应用程序
- C#加密算法总结
- C#里partial关键字的作用
- C#设计模式总结