ScreenToGif.Modern.btnReset_Click C# (CSharp) Method

btnReset_Click() private method

private btnReset_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void btnReset_Click(object sender, EventArgs e)
        {
            StopPreview(false);
            btnUndo.Enabled = true;

            int countDiff = _listFramesEdit.Count - _listFrames.Count;

            #region Resets the list of frames

            _listFramesUndo.Clear();

            foreach (var name in _listFramesEdit)
            {
                _listFramesUndo.Add(name.Replace("Edit", "Undo"));
                File.Copy(name, name.Replace("Edit", "Undo"), true);
            }

            _listFramesEdit.Clear();

            int frameActual = 0;
            foreach (var frame in _listFrames)
            {
                File.Copy(frame, _pathTemp + String.Format(@"Edit\{0}.bmp", frameActual), true);
                _listFramesEdit.Add(_pathTemp + String.Format(@"Edit\{0}.bmp", frameActual));

                frameActual++;
            }

            #endregion

            #region Resets the list of delays

            _listDelayUndo.Clear();
            _listDelayUndo = new List<int>(_listDelayEdit);

            _listDelayEdit.Clear();
            _listDelayEdit = new List<int>(_listDelay);

            #endregion

            trackBar.Maximum = _listFramesEdit.Count - 1;
            pictureBitmap.Image = _listFramesEdit[trackBar.Value].From();
            this.Text = Resources.Title_EditorFrame + trackBar.Value + " - " + (_listFramesEdit.Count - 1);

            ResizeFormToImage();

            #region Update TreeView

            if (countDiff > 0)
            {
                //If Undo is smaller, it means that we need to remove
                tvFrames.Remove(countDiff);
            }
            else if (countDiff < 0)
            {
                //If Undo is greater, it means that we need to add
                tvFrames.Add(Math.Abs(countDiff));
            }

            #endregion

            DelayUpdate();
            GC.Collect();
        }
Modern