示例#1
0
        string OverwritePrompt(string filename)
        {
            switch (existingFileAction)
            {
            case ExistingFileAction.Skip:
                return(null);

            case ExistingFileAction.Overwrite:
                return(filename);

            case ExistingFileAction.Rename:
                return(GetPathToRename(filename));
            }

            Console.WriteLine(string.Format($"The file {filename} already exists. Overwrite? [Y]es | [N]o | [A]lways | n[E]ver | [R]ename | A[l]ways rename"));

            while (true)
            {
                switch (Console.Read())
                {
                case 'y':
                case 'Y':
                    return(filename);

                case 'n':
                case 'N':
                    return(null);

                case 'a':
                case 'A':
                    existingFileAction = ExistingFileAction.Overwrite;
                    return(filename);

                case 'e':
                case 'E':
                    existingFileAction = ExistingFileAction.Skip;
                    return(null);

                case 'r':
                case 'R':
                    return(GetPathToRename(filename));

                case 'l':
                case 'L':
                    existingFileAction = ExistingFileAction.Rename;
                    return(GetPathToRename(filename));
                }
            }
        }
示例#2
0
 private void AbortButton_Click(object sender, RoutedEventArgs e)
 {
     this.DialogResult = false;
     this.FileAction   = ExistingFileAction.Abort;
 }
示例#3
0
 private void RenameButton_Click(object sender, RoutedEventArgs e)
 {
     this.DialogResult = true;
     this.FileAction   = ExistingFileAction.Rename;
 }