public string SaveAs() { if (!Directory.Exists(_defaultSerializePath)) { Directory.CreateDirectory(_defaultSerializePath); } var dialog = new SaveFileDialog { InitialDirectory = SerializeFile == null ? _defaultSerializePath : Path.GetDirectoryName(SerializeFile), DefaultExt = "xml", Filter = FileFilter }; var result = dialog.STAShowDialog(); if (result == DialogResult.OK) { try { using (var fs = dialog.OpenFile()) { FaceDatabase.Serialize(fs); } } catch (Exception exc) { MessageBox.Show( $"Error: An error occured while saving the database to {dialog.FileName}:{Environment.NewLine}{exc}"); } SerializeFile = dialog.FileName; } return(SerializeFile); }