0

SaveFileDialog コントロールを使用してファイルを保存したいと考えています。ファイルを保存するためにファイルがすでに存在している必要があるのはなぜですか?

これは私が使用しているコードです:

string month = dateTimePicker1.Value.Month.ToString();
string year = dateTimePicker1.Value.Year.ToString();
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.InitialDirectory = @"C:\";
saveFileDialog1.Title = "Save Sql Files";
saveFileDialog1.FileName = "MysqlBackup-"+month+"-"+year+".sql";
saveFileDialog1.CheckFileExists = true;
saveFileDialog1.DefaultExt = "Sql";
saveFileDialog1.Filter = "Sql files (*.Sql)|*.Sql";
saveFileDialog1.FilterIndex = 2;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    // Here is the error. After typing in the filename, when I click OK it gives me an error stating that the file does not exist.
    }
4

2 に答える 2

8

この行では、選択したフォルダーにファイルが存在する必要があります

saveFileDialog1.CheckFileExists = true;

false に設定すると、ファイルが存在しない場合は OK で終了できます

MSDN の CheckFileExists

ユーザーが存在しないファイル名を指定した場合に、ダイアログ ボックスに警告を表示するかどうかを示す値を取得または設定します。

于 2012-12-07T11:47:48.447 に答える
2

以下を設定する必要があります。

saveFileDialog.OverwritePrompt = true;
saveFileDialog.CreatePrompt = false;

OverwritePrompt : ユーザーが既に存在するファイル名を指定した場合に、[名前を付けて保存] ダイアログ ボックスに警告を表示するかどうかを示す値を取得または設定します。

CreatePrompt : ユーザーが存在しないファイルを指定した場合に、ダイアログ ボックスでファイルを作成する権限をユーザーに求めるかどうかを示す値を取得または設定します。

于 2016-07-18T09:50:46.443 に答える