-9

我在 Visual Studio 中使用表单。我想在保存文件对话框上单击保存时显示一条错误消息,但不提供文件名。我该怎么做?

我尝试了以下代码,但没有成功:我尝试了 2 个逻辑。1)

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

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 回答