我现在正在用 C# 创建一个应用程序,它在单击按钮时将数据保存到文件中。文件的名称和位置由用户定义,我希望程序自动为名称添加 .txt 扩展名,并在“将文件另存为”组合框中仅显示 1 个可能的扩展名。我有这段代码:
SaveFileDialog Dialog1 = new SaveFileDialog();
Dialog1.DefaultExt = "txt";
Dialog1.Filter = "Pliki tekstowe | *.txt";
Dialog1.AddExtension = true;
private void button1_Click(object sender, EventArgs e)
{
if (Dialog1.ShowDialog() == DialogResult.OK)
{
System.IO.Stream fileStream = Dialog1.OpenFile();
System.IO.StreamWriter sw = new System.IO.StreamWriter(fileStream);
sw.WriteLine("Writing some text in the file.");
sw.WriteLine("Some other line.");
sw.Flush();
sw.Close();
}
this.Close();
}
但每当我单击该按钮时,我在组合框中没有可供选择的选项,而且 .txt 扩展名也不会添加到文件名中,以防用户自己未指定扩展名。我知道我可以通过检查用户是否提供了正确的扩展名来以某种方式绕过它,以防他没有在名称中添加“.txt”,但我真的很想知道,为什么那段代码不起作用。有帮助吗?
最佳答案
问题是空间。只需将其更改为:
Dialog1.Filter = "Pliki tekstowe|*.txt";
你应该在做生意。
否则它会尝试匹配模式为 *.txt
的文件(与 *.txt
相比)——您可能没有。
关于c# - 尽管使用 Filter 选项,SaveFileDialog 不显示任何可能的扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21652395/