[英]How to add Save file Dialog Box using C#
我需要實現類似於Notepads的保存選項。 假設我有一個按鈕放在RichTextBox
旁邊,我想要的是,當點擊這個按鈕時,會打開一個對話框,它看起來類似於點擊另存為時出現的對話框。 我想通過在“ 保存對話框”中輸入文件名來以文本格式保存RichTextBox的內容。
private void Save_As_Click(object sender, EventArgs e)
{
SaveFileDialog _SD = new SaveFileDialog();
_SD.Filter = "Text File (*.txt)|*.txt|Show All Files (*.*)|*.*";
_SD.FileName = "Untitled";
_SD.Title = "Save As";
if (__SD.ShowDialog() == DialogResult.OK)
{
RTBox1.SaveFile(__SD.FileName, RichTextBoxStreamType.UnicodePlainText);
}
}
對於WPF,您應該使用此SaveFileDialog 。
var dialog = new Microsoft.Win32.SaveFileDialog();
dialog.Filter = "Rich Text File (*.rtf)|*.rtf|All Files (*.*)|*.*";
dialog.FileName = "Filename.rtf"; //set initial filename
if (dialog.ShowDialog() == true)
{
using (var stream = dialog.OpenFile())
{
var range = new TextRange(myRichTextBox.Document.ContentStart,
myRichTextBox.Document.ContentEnd);
range.Save(stream, DataFormats.Rtf);
}
}
這適用於文本文件,並在WPF
中進行了測試。
var dialog = new Microsoft.Win32.SaveFileDialog();
dialog.Filter = "Text documents (.txt)|*.txt|All Files (*.*)|*.*";
dialog.FileName = "Filename.txt";
if (dialog.ShowDialog() == true)
{
File.WriteAllText(dialog.FileName, MyTextBox.Text);
}
誤讀了這個問題 - 雷的回答對OP有效
這僅適用於Windows窗體。
您應該查看SaveFileDialog類: http : //msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx
並使用類似的東西保存文件(見這里 ):
rtf.SaveFile(dialog.FileName);
SaveFileDialog sfDialog = new SaveFileDialog();
sfDialog.ShowDialog();
OutputStream ostream = new FileOutputStream(new File(sfDialog.FileName));
WorkBook.write(ostream);
ostream.close();
您可以使用SaveFileDialog
組件, 在此處閱讀以了解其工作原理和工作示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.