Solved

how can i make a previous button here?

Posted on 2016-08-29
4
55 Views
Last Modified: 2016-09-16
So i am making a game in visual c#...the first stage is looking through the photos that are shown in a picturebox. I have written this code so far:

namespace FaceNameGame
{
    public partial class LevelOnePartOne : Form
    {
       
        int m , piccount=0, k;
        Random rd = new Random();
        public string[] picturenames= new string[4];
        public string[] links = new string[3];
        string sourcePath = @"C:\Users\Marina\Desktop\FaceNameGame\images";
        string targetPath = @"C:\Users\Marina\Desktop\FaceNameGame\images\used";
        bool directoryexists = false;
        string[] files = Directory.GetFiles(@"C:\Users\Marina\Desktop\FaceNameGame\images\", "*.jpg", SearchOption.AllDirectories);

        public LevelOnePartOne()
        {
            InitializeComponent();
        }



        private void LevelOnePartOne_Load(object sender, EventArgs e)
        {


            ProceedBtn.Hide();
           
            PreviousBtn.Hide();

           
           

            if (!System.IO.Directory.Exists(targetPath))
            {
                System.IO.Directory.CreateDirectory(targetPath);
                directoryexists = true;

            }

            Random rand = new Random();
            string[] files = Directory.GetFiles(@"C:\Users\Marina\Desktop\FaceNameGame\images\", "*.jpg", SearchOption.AllDirectories);


             for (m = 0; m < 3; m++)
            {

               Loop:
                picturenames[m] = files[rand.Next(files.Length)];
                string name1 = picturenames[m].ToString();
                string name2 = name1.Substring(name1.LastIndexOf("\\"));
                string name3 = name2.Remove(name2.Length - 4, 4);
                string name = name3.Remove(0, 1);
                string filename = name2.TrimStart('\\');
               
               
               
                if (!IsDirectoryEmpty(targetPath))
                {


                    if (File.Exists("C:\\Users\\Marina\\Desktop\\FaceNameGame\\images\\used\\" + filename))
                    {

                        goto Loop;  
                       
                     

                    }

                }

                string sourceFile = System.IO.Path.Combine(sourcePath, filename);
                string destFile = System.IO.Path.Combine(targetPath, filename);

               

                System.IO.File.Copy(sourceFile, destFile, true);
               
            }


           

            ShowCurrentImage(0);
                k = 1;


        }

           

           
       

        private void NextBtn_Click(object sender, EventArgs e)
        {
            piccount++;

            if(piccount < 3)
            {

                if (k<3)
                {
                   
                    ShowCurrentImage(k);
                    k++;
                   
                }
               
            }    
           
            if (piccount == 2)
            {
                NextBtn.Hide();
                ProceedBtn.Show();
            }

            if (k > 0)
            {
                PreviousBtn.Show();
            }

        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {


        }

        private void PhotoTemplatePicBx_Click(object sender, EventArgs e)
        {

        }

        private void ProceedBtn_Click(object sender, EventArgs e)
        {
            LevelOnePartTwo lvltwoprttwo = new LevelOnePartTwo();
            this.Hide();
            lvltwoprttwo.Show();
        }

        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (keyData == Keys.Escape)
            {
                this.Close();

                if (directoryexists)
                {
                    Directory.Delete(targetPath, true);
                }
                return true;
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

        private void PreviousBtn_Click(object sender, EventArgs e)
        {
           

                if (k > 0 && k < 3)
                {

                    ShowCurrentImage(k);
                    k--;

                }

           

           

        }

        protected void ShowCurrentImage(int picindex)
        {

            string[] filestouse = Directory.GetFiles(@"C:\Users\Marina\Desktop\FaceNameGame\images\used\", "*.jpg", SearchOption.AllDirectories);
            pictureBox1.Load(filestouse[picindex]);
            string nameused1 = pictureBox1.ImageLocation.ToString();
            string nameused2 = nameused1.Substring(nameused1.LastIndexOf("\\"));
            string nameused3 = nameused2.Remove(nameused2.Length - 4, 4);
            string nameused = nameused3.Remove(0, 1);
            namelbl.Text = "Hello,my name is" + " " + nameused;
               

           
        }


        public bool IsDirectoryEmpty(string path)
        {
            string[] dirs = Directory.GetDirectories(path); string[] files = System.IO.Directory.GetFiles(path);
            return dirs.Length == 0 && files.Length == 0;
        }

    }
}



everything works fine except the previous button...any ideas on how i can do it? Thanks in advance for you help...
0
Comment
Question by:Marina K
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 10

Accepted Solution

by:
Prakash Samariya earned 500 total points
ID: 41774493
try below code! please check value of "k"
private void PreviousBtn_Click(object sender, EventArgs e)
{
            if (k > 0 && k < 3)
            {
                    k--;
                    ShowCurrentImage(k);
            }
            if (k <=0)
            {
                PreviousBtn.Hide();
            }
}

Open in new window

1
 
LVL 10

Expert Comment

by:Prakash Samariya
ID: 41801251
@Marina K, Did you find the resolution?

Hope you might got some help from my answer!!
0
 

Author Closing Comment

by:Marina K
ID: 41801386
I figured it out now. This answer helped me very much. Thank you
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
As game developers, we quickly learn that Artificial Intelligence (AI) doesn’t need to be so tough.  To reference Space Ghost: “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer. (http://www.youtu…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question