-9

Visual Studio で Forms を使用しています。ファイル名を指定せずにファイルの保存ダイアログで [保存] をクリックしたときにエラー メッセージを表示したいと考えています。どうすればいいのですか?

次のコードを試しましたが、うまくいきませんでした: 2 つのロジックを試しました。1)

if (string.IsNullOrEmpty(saveFileDialog1.FileName))
{ 
    MessageBox.Show("Enter the Filename");
}   

2) これは 2 番目のロジックです

private void saveFileDialog1_FileOk(object sender, CancelEventArgs e) 
{ 
  if (saveFileDialog1_FileOk == saveFileDialog1.FileName) 
  { 
    MessageBox.Show("Enter the Filename"); 
  } 
  else 
  { 
    string name = saveFileDialog1.FileName; 
    string testvar = textBox1.Text; 
    File.WriteAllText(name, testvar); 
  } 
}

ファイル名に何も入力せずに保存ボタンをクリックしたときにエラーメッセージを表示したい。質問が明確であることを願っています!

4

1 に答える 1

3

SaveDialog は実際にはこのようには機能しません。[OK] ボタンを使用して空の文字列を返すことはないため、文字列のテキストではなく DialogResult を確認する必要があります。おそらく次のようなものです:

DialogResult dr = saveFileDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
    if (System.IO.File.Exists(saveFileDialog1.FileName))
    {
        //overwrite existing file here
    }
    else
    {
        //save as new file here
    }
}
else
{
    //dialog did not return from an OK button (e.g. cancel)
}

また、ファイルが別の方法で既に存在するかどうかを処理するこの回答を読むことも検討してください。

于 2013-08-19T11:03:19.507 に答える