private void SetUpCurrentImage(bool scanDirectory = false)
        {
            RestoringPictureBoxSizeAndPosition();

            imageFilesInCurrentDirectory = GetFileListFromCurrentDirectory();

            if (scanDirectory)
            {
                ScanDirectoryAndUpdateImageIndexTextBox();
            }

            if (imageFilesInCurrentDirectory.Count() != 0)
            {
                string directory = Path.GetDirectoryName(imageFilesInCurrentDirectory.ElementAt(imageIndex));
                string filename  = Path.GetFileName(imageFilesInCurrentDirectory.ElementAt(imageIndex));

                UpdateBaseNameTextBox(filename);

                ParseTagsAndPopulateTagListForImage(filename);

                UpdateNumberOfImagesInDirectoryTextbox();

                currentSelectedImage = new CurrentSelectedImageFile(filename, directory);

                string pathAndFileName = directory + Path.DirectorySeparatorChar + filename;

                SetCurrentImageToPictureBox(pathAndFileName);
            }
        }
        public FastAndFuriousImageTagger()
        {
            InitializeComponent();

            Application.ApplicationExit += new EventHandler(this.OnApplicationExit);

            currentSelectedImage = new CurrentSelectedImageFile("", "");

            this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();

            startImage = pictureBox1.Image;

            pictureBox1.MouseWheel += PictureBox1_WheelEvent;

            SavingPictureBoxSizeAndPosition();

            UserDataDirectoryHandling();

            InitializeAutoCompletionForNewTagTextBox();

            SetUpCurrentImage();

            InitMostUsedTagButtonList();

            SetNameOfMostUsedTagButtons(GetMostUsedTags(10));
        }