黑马程序员技术交流社区

标题: 如何在C# windows窗体中 让一组图片连续显示出来 [打印本页]

作者: 刘吉烨    时间: 2014-2-19 16:35
标题: 如何在C# windows窗体中 让一组图片连续显示出来
如何在C# windows窗体中 让一组图片连续显示出来
作者: 流失的温度0    时间: 2014-2-20 01:13
本帖最后由 流失的温度0 于 2014-2-20 01:20 编辑

临睡前写的。水平有限。

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;

  9. namespace Demo04
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         //*****************************************
  14.         //*在窗体中添加pictureBox控件和一个timer控件*
  15.         //*****************************************

  16.         //设置图片文件夹的绝对路径。此步骤可以使用选择文件夹对话框替换
  17.         static string path = @"E:\Pictures";

  18.         //使用System.IO.Directory.GetFiles()方法获取制定路径下的所有文件,返回值为string[]类型
  19.         static string[] tempFileNames = System.IO.Directory.GetFiles(path);

  20.         //声明一个string类型的集合,用于存放路径下的图片文件
  21.         List<string> list = new List<string>();

  22.         //设置计数器,用于指示list的下标。
  23.         static int i = 0;                                   
  24.         public Form1()
  25.         {
  26.             InitializeComponent();
  27.         }

  28.         private void Form1_Load(object sender, EventArgs e)
  29.         {
  30.             //设置窗体出现时为最大化
  31.             this.WindowState = FormWindowState.Maximized;

  32.             //设置窗体启动时在屏幕中央,和上一个步骤可在窗体的属性中设置。
  33.             this.StartPosition = FormStartPosition.CenterScreen;

  34.             //对获取到的tempFileNames进行筛选,得到图片文件。这里只筛选了jpg和png类型的图片。
  35.             foreach(string s in tempFileNames)                  
  36.             {
  37.                 if(s.EndsWith(".jpg")||s.EndsWith(".png"))
  38.                 {
  39.                     //将图片文件的绝对路径添加到list集合中。
  40.                     list.Add(s);                                
  41.                 }
  42.             }
  43.         }

  44.         //timer控件Enable设置为true,频率根据需要设置。下面是其Tick事件。
  45.         private void timer1_Tick(object sender, EventArgs e)   
  46.         {
  47.             //如果i小于list的元素和,则将pictrueBox的文件源设置为list[i]。
  48.             if(i<list.Count)                                    
  49.             {
  50.                 pictureBox1.Image = Image.FromFile(list[i]);
  51.                 i++;
  52.             }
  53.             //如果i不小于list的元素和,说明此时i已经等于list的元素和,
  54.             //但作为list的下标,已经超出了list的范围。则将其置为0。从头开始。
  55.             else                                                
  56.             {                                                   
  57.                 i = 0;
  58.             }
  59.         }
  60.     }
  61. }
复制代码

QQ截图20140220011341.png (71.28 KB, 下载次数: 22)

QQ截图20140220011341.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2