Intermediate 10 min read Control #23

SaveFileDialog Control

SaveFileDialog lets users choose where to save a file. It provides a standard Windows save dialog with file type filtering.

What is a SaveFileDialog?

SaveFileDialog shows the standard save file dialog. Users can navigate folders, enter a filename, and select file types. It returns the selected path if the user clicks Save.

Code Example

// Show SaveFileDialog
private void btnSave_Click(object sender, EventArgs e)
{
    using (var saveDialog = new SaveFileDialog())
    {
        // Configure the dialog
        saveDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
        saveDialog.DefaultExt = "txt";
        saveDialog.AddExtension = true;
        saveDialog.FileName = "MyDocument";
        
        if (saveDialog.ShowDialog() == DialogResult.OK)
        {
            // Save the file using saveDialog.FileName
            File.WriteAllText(saveDialog.FileName, content);
            MessageBox.Show($"Saved to: {saveDialog.FileName}");
        }
    }
}

// Save with different file types
private void SaveAsRichText()
{
    using (var saveDialog = new SaveFileDialog())
    {
        saveDialog.Filter = "RTF Files (*.rtf)|*.rtf|Text Files (*.txt)|*.txt";
        saveDialog.DefaultExt = "rtf";
        
        if (saveDialog.ShowDialog() == DialogResult.OK)
        {
            richTextBox1.SaveFile(saveDialog.FileName);
        }
    }
}

Exercise

Task: Create a text editor with save functionality.

  1. Add a RichTextBox for editing.
  2. Add a Button: "Save".
  3. Show SaveFileDialog when clicked.
  4. Save the content as a text file.
  5. Add a Button: "Save As".
  6. Add support for different file types (TXT, RTF).
Key Takeaway

SaveFileDialog provides a professional save experience. Use Filter to limit file types and FileName for the default name.