Click here to Skip to main content
Licence CPOL
First Posted 21 Jan 2008
Views 41,056
Downloads 1,969
Bookmarked 34 times

A Simple Image Slide Show

By | 21 Jan 2008 | Article
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

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 3 Pinmemberrkmeenajaipur22:44 1 Sep '11  
GeneralMy vote of 1 Pinmemberjalil20085:51 30 May '11  
GeneralThanks Pinmemberrajamahan8:30 25 Jun '10  
GeneralThankS! Pinmemberrajamahan8:21 25 Jun '10  
GeneralNice but... Pinmemberjinfrics19:39 28 Apr '08  
GeneralRe: Nice but... PinmemberWenderson10:44 18 Jul '08  
GeneralRe: Nice but... PinmemberGrimrist12:05 31 Jan '09  
GeneralRe: Nice but... Pinmembervidyaputra3:21 2 Feb '09  
Generalhi PinmemberRamzi Abou Rahal8:10 12 Mar '08  

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.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 21 Jan 2008
Article Copyright 2008 by vidyaputra
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid