在C#中给出空文件名时显示错误消息

时间:2013-08-19 10:37:40

标签: c# winforms

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

我尝试了以下代码,但它不起作用: 我试过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); 
  } 
}

我想在单击“保存”按钮时不显示“文件名”中的任何内容时显示错误消息。 我希望问题很明确!

1 个答案:

答案 0 :(得分: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)
}

还要考虑阅读this answer来处理文件是否已经以不同的方式存在。