我在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);
}
}
我想在单击“保存”按钮时不显示“文件名”中的任何内容时显示错误消息。 我希望问题很明确!
答案 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来处理文件是否已经以不同的方式存在。