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.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms.dll
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.
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. |
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!");
}
}
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);
}
}
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\.
MSDN SaveFileDialog
Tìm kiếm:
Hướng dẫn chi tiết hộp thoaị SaveFileDialog trong C#