Пример #1
0
        /// <summary>
        /// Do the moving operation in this method.
        /// </summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event argument</param>
        private void MoveFilesInBackground(object sender, DoWorkEventArgs e)
        {
            SelectFilesByOption selection = (SelectFilesByOption)e.Argument;
            BackgroundWorker    worker    = sender as BackgroundWorker;

            switch (selection)
            {
            case SelectFilesByOption.All:
                MoveAll(worker);
                break;

            case SelectFilesByOption.Size:
                MoveSize(worker);
                break;

            case SelectFilesByOption.Date:
                MoveByDate(worker);
                break;

            case SelectFilesByOption.Extension:
                MoveExtensions(worker);
                break;

            default:
                break;
            }
        }
Пример #2
0
        /// <summary>
        /// Display the input control corresponding to the selected option.
        /// </summary>
        /// <param name="selection">The selection the user selects.</param>
        private void DisplaySelectionInput(SelectFilesByOption selection)
        {
            switch (selection)
            {
            case SelectFilesByOption.Size:
                u_datePicker.Visibility    = Visibility.Collapsed;
                u_sizeRangeGrid.Visibility = Visibility.Visible;
                u_extensionGrid.Visibility = Visibility.Collapsed;
                break;

            case SelectFilesByOption.Date:
                u_datePicker.Visibility    = Visibility.Visible;
                u_sizeRangeGrid.Visibility = Visibility.Collapsed;
                u_extensionGrid.Visibility = Visibility.Collapsed;
                break;

            case SelectFilesByOption.Extension:
                u_datePicker.Visibility    = Visibility.Collapsed;
                u_sizeRangeGrid.Visibility = Visibility.Collapsed;
                u_extensionGrid.Visibility = Visibility.Visible;
                break;

            default:
                u_datePicker.Visibility    = Visibility.Collapsed;
                u_sizeRangeGrid.Visibility = Visibility.Collapsed;
                u_extensionGrid.Visibility = Visibility.Collapsed;
                break;
            }

            SetElementFullyVisible(u_moveButton, this);
        }
Пример #3
0
        /// <summary>
        /// Run the moving background operation in a background thread.
        /// </summary>
        private void RunBackgroundThread()
        {
            // Create a background thread and register the appropriate handler methods
            BackgroundWorker worker = new BackgroundWorker();

            worker.WorkerReportsProgress = true;
            worker.DoWork             += MoveFilesInBackground;
            worker.RunWorkerCompleted += ProgressCompletedHandler;
            //worker.ProgressChanged += ProgressChangedHandler;

            // Create a ProgressWindow object
            m_progressWindow           = new ProgressWindow();
            m_progressWindow.Owner     = this;
            m_progressWindow.Canceled += ProgressCanceledHandler;

            // Start the thread in the background and show the ProgressWindow object to user
            // Catch any thrown exception that is not caught in the background thread
            try
            {
                SelectFilesByOption selection = (SelectFilesByOption)u_selectComboBox.SelectedIndex;
                worker.RunWorkerAsync(argument: selection);
                m_progressWindow.ShowDialog();
            }
            catch (Exception ex)
            {
                DisplayErrorMessage(ex);
                m_progressWindow.Canceled -= ProgressCanceledHandler;
                m_progressWindow.Close();
            }
        }
Пример #4
0
        /// <summary>
        /// Show the the input control of the selected option.
        /// </summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event argument</param>
        private void SelectionChangedHandler(object sender, SelectionChangedEventArgs e)
        {
            SelectFilesByOption selection = (SelectFilesByOption)u_selectComboBox.SelectedIndex;

            DisplaySelectionInput(selection);
        }