目标:
将记事本文件保存在计算机中。 (C#)
问题:
保存对话框显示时,我不知道如何在“保存类型:”中预选为“TXT文件(* .txt)”?
// Fullmetalboy
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace Labb2_application
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void mnuFileOpen_Click(object sender, EventArgs e)
{
OpenFileDialog fDialog = new OpenFileDialog();
fDialog.Title = "Öppna";
fDialog.Filter = "Text files|*.txt";
fDialog.InitialDirectory = @"C:\Windows";
fDialog.ShowHelp = true;
DialogResult result = fDialog.ShowDialog(); // Show the dialog and get result.
if (result == DialogResult.OK)
{
string fileAdress = fDialog.FileName;
try
{
string textContent = File.ReadAllText(fileAdress);
rtxtDisplay.Text = textContent;
}
catch (IOException)
{
}
} // If syntax
}
private void mnuFileSave_Click(object sender, EventArgs e)
{
saveAsFileDialog.ShowDialog();
}
private void mnuFileSaveAs_Click(object sender, EventArgs e)
{
saveAsFileDialog.Filter = "Text files|*.txt";
saveAsFileDialog.ShowDialog();
}
private void mnuFileExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void saveAsFileDialog_FileOk(object sender, CancelEventArgs e)
{
string fileNameAddress = saveAsFileDialog.FileName;
File.WriteAllText(fileNameAddress, rtxtDisplay.Text);
}
} // Partial Class
}
答案 0 :(得分:4)
您可以指定FilterIndex
。
此外,您可以通过更改DefaultExt
属性来指定保存时使用的默认文件扩展名。
答案 1 :(得分:0)
在我的脑海中,文件saveas对话框协议可能会像预期的那样不直观。
我认为您需要在过滤器中使用括号。
Best,J
答案 2 :(得分:0)
这将为您的SaveFileDialog创建一个新过滤器:
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Text files(*.txt)|*.txt"
第一部分是向用户显示的文本,第二部分是扩展名。如果你想添加更多,只需将它们分开'|'即可字符。默认行为是选择第一个过滤器,但如果要更改它,请使用“FilterIndex”属性。