Hộp thoaị SaveFileDialog trong C#

Hướng dẫn chi tiết hộp thoaị SaveFileDialog trong C#

  1. Lớp SaveFileDialog nằm ở đâu?
  2. Cách sử dụng cơ bản SaveFileDialog
  3. Các thuộc tính thường dùng SaveFileDialog
  4. Ví dụ thực tế SaveFileDialog
  5. Một số kinh nghiệm sử dụng SaveFileDialog
  6. Tài liệu chính thức SaveFileDialog

SaveFileDialog trong WinForms C# là một hộp thoại tiêu chuẩn của Windows cho phép người dùng chọn vị trí và tên tệp để lưu. Nó rất hữu ích khi bạn muốn người dùng lưu nội dung (văn bản, hình ảnh, file cấu hình, dữ liệu…) xuống ổ đĩa.

1. Lớp SaveFileDialog nằm ở đâu?

    Namespace: System.Windows.Forms
    Assembly: System.Windows.Forms.dll

2. Cách sử dụng cơ bản SaveFileDialog

SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "Lưu tệp";
saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";

if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
    string filePath = saveFileDialog.FileName;
    File.WriteAllText(filePath, "Nội dung bạn muốn lưu");
}

- Khai báo biến kiểu đối tượng SaveFileDialog

- Thiết lập kiểu file cần lưu.

- Hiển thị hộp thoại lưu file.

3. Các thuộc tính thường dùng SaveFileDialog

Thuộc tính Kiểu dữ liệu Chức năng
FileName string Đường dẫn đầy đủ do người dùng chọn.
Filter string Lọc định dạng file, ví dụ: `"Text files (*.txt)
Title string Tiêu đề của hộp thoại.
DefaultExt string Phần mở rộng mặc định nếu người dùng không nhập.
AddExtension bool Có tự động thêm phần mở rộng nếu người dùng không nhập không?
OverwritePrompt bool Có hiện cảnh báo nếu tệp đã tồn tại không?
InitialDirectory string Thư mục mặc định khi mở hộp thoại.

 

4. Ví dụ thực tế SaveFileDialog

Ví dụ 1: Lưu file văn bản từ TextBox với SaveFileDialog

private void btnSave_Click(object sender, EventArgs e)
{
    SaveFileDialog saveDialog = new SaveFileDialog();
    saveDialog.Title = "Lưu nội dung";
    saveDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
    saveDialog.DefaultExt = "txt";

    if (saveDialog.ShowDialog() == DialogResult.OK)
    {
        File.WriteAllText(saveDialog.FileName, textBox1.Text);
        MessageBox.Show("Đã lưu thành công!");
    }
}

Ví dụ 2: Lưu ảnh từ PictureBox với SaveFileDialog

private void btnLuuAnh_Click(object sender, EventArgs e)
{
    SaveFileDialog saveDialog = new SaveFileDialog();
    saveDialog.Filter = "PNG Image (*.png)|*.png|JPEG Image (*.jpg)|*.jpg";

    if (saveDialog.ShowDialog() == DialogResult.OK)
    {
        pictureBox1.Image.Save(saveDialog.FileName);
    }
}

5. Một số kinh nghiệm sử dụng SaveFileDialog

    SaveFileDialog không tự động lưu tệp — bạn phải tự viết mã để lưu (dùng File.WriteAllText, FileStream, Image.Save, v.v.).

    Kiểm tra quyền ghi file nếu lưu trong thư mục hệ thống như C:\Program Files\.

6. Tài liệu chính thức SaveFileDialog

    MSDN SaveFileDialog

Tìm kiếm:

Hướng dẫn chi tiết hộp thoaị SaveFileDialog trong C#