Example #1
0
        private void deleteButton_Click(object sender, EventArgs e)
        {
            DialogResult response = MessageBox.Show("Delete image file as well as slide show position?",
                                                    "PhotoStudio", MessageBoxButtons.YesNoCancel,
                                                    MessageBoxIcon.Question,
                                                    MessageBoxDefaultButton.Button3);

            if ((response == DialogResult.Yes) || (response == DialogResult.No))
            {
                // Must release resources for the current picture before trying to delete it
                if (mainPictureBox.Image != null)
                {
                    mainPictureBox.Image.Dispose();
                    mainPictureBox.Image = null;
                }

                if (centrePictureBox.Image != null)
                {
                    centrePictureBox.Image.Dispose();
                    centrePictureBox.Image = null;
                }

                bool isFinalSlide = false;
                iSlideShow.DeleteCurrent(response == DialogResult.Yes, out isFinalSlide);

                if (isFinalSlide)
                {
                    // Retract to the previous slide
                    iPictureStrip[2].Image = iPictureStrip[1].Image;
                    iPictureStrip[1].Image = iPictureStrip[0].Image;

                    // Replace first picture
                    iPictureStrip[0].Image = null;
                    string slidePath = iSlideShow.GetPath(-2);
                    if (slidePath != null)
                    {
                        string picStrip = Path.Combine(iWorkingFolder, slidePath);
                        if (File.Exists(picStrip))
                        {
                            iPictureStrip[0].Image = System.Drawing.Bitmap.FromFile(picStrip);
                        }
                    }
                }
                else
                {
                    // Shunt pictures in from the right
                    iPictureStrip[2].Image = iPictureStrip[3].Image;
                    iPictureStrip[3].Image = iPictureStrip[4].Image;

                    // Replace final picture
                    iPictureStrip[4].Image = null;
                    string slidePath = iSlideShow.GetPath(2);
                    if (slidePath != null)
                    {
                        string picStrip = Path.Combine(iWorkingFolder, slidePath);
                        if (File.Exists(picStrip))
                        {
                            iPictureStrip[4].Image = System.Drawing.Bitmap.FromFile(picStrip);
                        }
                    }
                }

                // Replace main picture
                LoadMain();

                iSlideShowChanged = true;
            }
        }