RE:guardar en formato txt
Pues no llames al cuadro de dialogo. Parece una tonteria pero es así. Ese cuadro Guardar como... no es el que guarda el archivo, solo sirve para preguntar al usuario con que nombre quiere guardar el archivo.
Lo único que tendrás que hacer es eliminar de tu código fuente la sentencia donde llamas al método ShowSave, y escribir una expresión que devuelva la ruta y nombre que quieres para el archivo allí donode se lea la propiedad FileName.