首先,先創建一個新的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++];
}
}