點1實現爲點中提到的要求是你的解決方案,真的。
您必須保留一個Filename
字符串變量,該變量包含當前文檔的文件名。如果您創建一個新文檔,Filename
是null
。然後,如果您單擊Save
或Save As...
並且用戶不取消對話框,則將結果FileDialog.FileName
存儲在您的Filename
變量中,然後寫入文件內容。
現在,如果用戶再次單擊Save
,您會檢查Filename
是否有值,如果不是,請不要顯示SaveFileDialog
,而只需再次寫入該文件。然後
您的代碼將是這個樣子:
private String _filename;
void saveToolStripMenuItem_Click()
{
if (String.IsNullOrEmpty(_filename))
{
if (ShowSaveDialog() != DialogResult.OK)
{
return;
}
}
SaveCurrentFile();
}
void saveAsToolStripMenuItem_Click()
{
if (ShowSaveDialog() != DialogResult.OK)
{
return;
}
SaveCurrentFile();
}
DialogResult ShowSaveDialog()
{
var dialog = new SaveFileDialog();
// set your path, filter, title, whatever
var result = dialog.ShowDialog();
if (result == DialogResult.OK)
{
_filename = result.FileName;
}
return result;
}
void SaveCurrentFile()
{
using (var writer = new StreamWriter(_filename))
{
// write your file
}
}
任何代碼?你能告訴我們你做過什麼/嘗試過嗎? – 2012-07-11 09:04:31