Материал из .Net Framework эксперт
SaveFileDialog: filter, check file exists, initial directory
using System;
using System.Collections.Generic;
using System.Windows.Forms;
static class MainClass
{
[STAThread]
static void Main()
{
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "RichText Files (*.rtf)|*.RTF|Text Files (*.txt)|*.TXT" +
"|All files (*.*)|*.*";
dlg.CheckFileExists = true;
dlg.InitialDirectory = Application.StartupPath;
if (dlg.ShowDialog() == DialogResult.OK)
{
Console.WriteLine(dlg.FileName);
}
}
}