Click here to Skip to main content
Click here to Skip to main content

A Simple Image Slide Show

, 21 Jan 2008
Rate this:
Please Sign up or sign in to vote.
A simple image slide show for beginners.

imageviewer

Introduction

This is a simple C# application that can open and view images, and show the images one by one in a slide show. The purpose of this article is for a beginner to know how to create an image slide show using timers, in C#.

Using the code

To make this application, I used Buttons (for Next, Previous, Open, and Slideshow), a PictureBox, and a Panel (to contain the PictureBox). The PictureBoxSizeMode” is set to “StretchImage”.

First, declare these four variables:

private string [] folderFile = null;
private int selected = 0;
private int begin = 0;
private int end = 0;

The first variable is a string array that will be used to keep the path file of the folder. The remaining variables are used to ‘mark’ the beginning of the array, the end of the array, and the selected index of the array, respectively.

private void button2_Click(object sender, System.EventArgs e)
{
    if(folderBrowserDialog1.ShowDialog() == DialogResult.OK)
    {
        string [] part1=null, part2=null, part3=null;
        part1 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.jpg");
        part2 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.jpeg");
        part3 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.bmp");
        folderFile = new string[part1.Length + part2.Length + part3.Length];
        Array.Copy(part1,0,folderFile,0,part1.Length);
        Array.Copy(part2,0,folderFile,part1.Length,part2.Length);
        Array.Copy(part3,0,folderFile,part1.Length + part2.Length,part3.Length);
        selected = 0;
        begin = 0;
        end = folderFile.Length;
        showImage(folderFile[selected]);
        button1.Enabled = true;
        button3.Enabled = true;
        button4.Enab    led = true;
    }
}

If the FolderBrowserDialog result is ‘OK’, then get all the JPG, JPEG, and BMP files on the folder and copy them to the fileFolder array. Then, show the images by calling showImage().

private void showImage(string path)
{
    Image imgtemp = Image.FromFile(path);
    pictureBox1.Width = imgtemp.Width / 2;
    pictureBox1.Height = imgtemp.Height / 2;
    pictureBox1.Image = imgtemp;
}

The PictureBox width and height are divided with 2 to show the images half their original size.

private void prevImage()
{
    if(selected == 0)
    {
        selected = folderFile.Length - 1;
        showImage(folderFile[selected]); 
    }
    else
    {
        selected = selected - 1; showImage(folderFile[selected]);
    }
}

private void nextImage()
{
    if(selected == folderFile.Length - 1)
    {
        selected = 0; 
        showImage(folderFile[selected]);
    }
    else
    {
        selected = selected + 1; showImage(folderFile[selected]);
    }
}

To show the next and previous images, simply move the selected array mark to the next index or to previous index, respectively.

private void timer1_Tick(object sender, System.EventArgs e)
{ 
    nextImage();
}

private void button4_Click(object sender, System.EventArgs e)
{
    if(timer1.Enabled == true)
    { 
        timer1.Enabled = false;
        button4.Text = "<< START Slide Show >>";
    }
    else
    {
        timer1.Enabled = true;
        button4.Text = "<< STOP Slide Show >>";
    }
}

For the slide show function, call nextImage() at the timer1_tick, then just set Enabled to true or false.

Conclusion

It is very easy to open, show, and slide show images. We just need to use FolderBrowserDialog and Timer and C# 2.0.

I hope this article is useful for everyone. Any comments are welcome!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

vidyaputra
Software Developer (Junior)
Indonesia Indonesia
No Biography provided

Comments and Discussions

 
GeneralMy vote of 3 PinmemberMember 1051355325-Mar-14 15:05 
QuestionThanks and a little thing PinmemberOrions6820-Jul-13 10:43 
QuestionAn even simpler slideshow PinmemberK Turner24-Jan-13 22:17 
Questiongood example Pinmemberjumput23-Jan-13 0:31 
GeneralMy vote of 5 Pinmemberalcitect18-Nov-12 23:02 
GeneralMy vote of 3 Pinmemberrkmeenajaipur1-Sep-11 22:44 
GeneralMy vote of 1 Pinmemberjalil200830-May-11 5:51 
GeneralThanks Pinmemberrajamahan25-Jun-10 8:30 
GeneralThankS! Pinmemberrajamahan25-Jun-10 8:21 
GeneralNice but... Pinmemberjinfrics28-Apr-08 19:39 
GeneralRe: Nice but... PinmemberWenderson18-Jul-08 10:44 
GeneralRe: Nice but... PinmemberGrimrist31-Jan-09 12:05 
GeneralRe: Nice but... Pinmembervidyaputra2-Feb-09 3:21 
Generalhi PinmemberRamzi Abou Rahal12-Mar-08 8:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 21 Jan 2008
Article Copyright 2008 by vidyaputra
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid