我希望用户在给定的文本框中键入他们的文本,然后单击 createNewFile 按钮,应弹出一个 SaveAs 对话框,用户应浏览该位置并根据需要保存文件。
我已经尝试了一些东西,但是
1. 对话框在应用程序后面
2. 运行时,对话框打开 3 次,意味着它执行了 3 次
回复帖子
protected void btnNewFile_Click(object sender, EventArgs e)
{
StreamWriter sw = null;
try
{
SaveFileDialog sdlg = new SaveFileDialog();
DialogResult result = sdlg.ShowDialog();
sdlg.InitialDirectory = @"C:\";
sdlg.AddExtension = true;
sdlg.CheckPathExists = true;
sdlg.CreatePrompt = false;
sdlg.OverwritePrompt = true;
sdlg.ValidateNames = true;
sdlg.ShowHelp = true;
sdlg.DefaultExt = "txt";
string file = sdlg.FileName.ToString();
string data = txtNewFile.Text;
if (sdlg.ShowDialog() == DialogResult.OK)
{
sw.WriteLine(txtNewFile.Text);
sw.Close();
}
if (sdlg.ShowDialog() == DialogResult.Cancel)
{ sw.Dispose(); }
}
catch
{ }
finally
{
if (sw != null)
{
sw.Close();
}
}
}
private void Save(string file, string data)
{
StreamWriter writer = new StreamWriter(file);
SaveFileDialog sdlg1 = new SaveFileDialog();
try
{
if (sdlg1.ShowDialog() == DialogResult.OK)
{
writer.Write(data);
writer.Close();
}
else
writer.Dispose();
}
catch (Exception xp)
{
MessageBox.Show(xp.Message);
}
finally
{
if (writer != null)
{
writer.Close();
}
}
}
我试过这个。