[英]System.Windows.Forms.SaveFileDialog: Saving multiple file formats with same file extensions
[英]Saving File with selectable extensions
所以我在这里再次编写了关于保存文件的代码(您可以选择文件名):
private void button3_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
using (Stream s = File.Open(saveFileDialog1.FileName, FileMode.CreateNew))
using (StreamWriter sw = new StreamWriter(s))
{
sw.Write(fastColoredTextBox1.Text);
}
}
}
问题是我想要 2 个可选择的扩展名:-.txt -.md 因为我写的代码可以保存到任何类型的文件中(如果你没有放任何东西,我会保存为 .FILE),我只想要1 保存文件类型。 保存对话框
您可以只使用对话框的过滤器来设置允许的扩展名:
// Filter by allowed extensions
saveFileDialog1.Filter = "Allowed extensions|*.txt;*.md";
您需要根据模式设置对话框的 Filter 属性:
Text to show|Filter to apply|Text to show 2|Filter to apply 2|...
例如,在您的情况下,您似乎在说您希望保存对话框有一个组合下拉列表,其中包含两件事,一个是文本,另一个是 Markdown,您的过滤器有 4 件事:
.Filter = "Text files|*.txt|Markdown files|*.md";
通常将您将应用的过滤器也放入您将显示的文本中,以便用户可以看到您所说的“文本文件”的含义,但为了清楚起见,我将其省略了。
例如,您可以选择让它说Text files(*.txt)|*.txt
- 括号中的文本与过滤器的工作方式无关,它实际上只是向用户显示,但它告诉他们“文件带有 .txt 扩展名”
脚注,如果您根据用户选择的内容保存不同的内容,则可能必须添加一些代码来检测 FileName 的扩展名,例如:
var t = Path.GetExtension(saveFileDialog.FileName);
if(t.Equals(".md", StringComparison.OrdinalIgnoreCase))
//save markdown
else
//save txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.