Beispiel #1
0
        private void bnkDeleteToolStripButton_Click(object sender, EventArgs e)
        {
            int fileCount = bnkListView.SelectedItems.Count;

            if (fileCount == 0)
            {
                return;
            }

            // Confirmation, when deleting multiple files. With a single file, using default Windows dialog.
            bool confirmationAsked = false;

            if (fileCount > 1)
            {
                string       message = string.Format(_QUESTION_DELETE_FILES, fileCount);
                DialogResult dr      =
                    MessageBoxes.ShowQuestion(this, message, MessageBoxButtons.YesNo);

                if (dr != DialogResult.Yes)
                {
                    return;
                }
                confirmationAsked = true;
            }

            try
            {
                bool deleteResult = false;

                Cursor = Cursors.WaitCursor;

                // Parcours de la liste de fichiers sélectionnés
                foreach (ListViewItem anotherItem in bnkListView.SelectedItems)
                {
                    string fileName = CurrentFolder + @"\" + anotherItem.Text;

                    // On enlève les attributs éventuels
                    File.SetAttributes(fileName, FileAttributes.Normal);

                    // On supprime
                    if (File2.MoveToTrash(fileName, !confirmationAsked))
                    {
                        deleteResult = true;
                    }
                }

                // Mise à jour de la liste, si nécessaire
                if (deleteResult)
                {
                    _RefreshFileList(folderTreeView.SelectedNode, true);
                }

                Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {
                MessageBoxes.ShowError(this, ex);
            }
        }