doc*_*cxx 2 c# visual-studio-2010 winforms
我有关闭saveFileDialog的问题.当我点击'取消'窗口再次出现.这是我的代码:
private void SaveAsItem_Click(object sender, EventArgs e)
{
saveFileDialog1.FileName = "untitled";
saveFileDialog1.Filter = "Text (*.txt)|*.txt";
saveFileDialog1.ShowDialog();
System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(saveFileDialog1.FileName);
if (saveFileDialog1.ShowDialog()==DialogResult.Cancel)
{
richTextBox1.Text = "CANCEL";
issaved = false;
}
else
{
issaved = true;
SaveFile.WriteLine(richTextBox1.Text);
}
SaveFile.Close();
}
Run Code Online (Sandbox Code Playgroud)
你打电话saveFileDialog1.ShowDialog()两次,一次是显示它,一次是为了得到结果.你只需要调用一次.删除那条单独说明saveFileDialog1.ShowDialog();你已经在if条件内完成的行.
编辑:您还需要移动FileStreamelse块中的所有操作,以便在删除该行后正常工作.这是我编辑的版本:
private void SaveAsItem_Click(object sender, EventArgs e)
{
saveFileDialog1.FileName = "untitled";
saveFileDialog1.Filter = "Text (*.txt)|*.txt";
if (saveFileDialog1.ShowDialog()==DialogResult.Cancel)
{
richTextBox1.Text = "CANCEL";
issaved = false;
}
else
{
System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(saveFileDialog1.FileName);
issaved = true;
SaveFile.WriteLine(richTextBox1.Text);
SaveFile.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
你也可以FileStream完全跳过一个只做一个File.WriteAlltext(saveFileDialog1.FileName, richTextBox1.Text).
| 归档时间: |
|
| 查看次数: |
3532 次 |
| 最近记录: |