Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Komponen SaveFileDialog memungkinkan pengguna menelusuri sistem file dan memilih file yang akan disimpan. Kotak dialog mengembalikan jalur dan nama file yang telah dipilih pengguna dalam kotak dialog. Namun, Anda harus menulis kode untuk benar-benar menulis file ke disk.
Untuk menyimpan file menggunakan komponen SaveFileDialog
Tampilkan kotak dialog Simpan File dan panggil metode untuk menyimpan file yang dipilih oleh pengguna.
Gunakan metode SaveFileDialog komponen OpenFile untuk menyimpan file. Metode ini memberi Anda objek Stream yang dapat Anda tulis.
Contoh di bawah ini menggunakan properti DialogResult untuk mendapatkan nama file, dan metode OpenFile untuk menyimpan file. Metode OpenFile memberi Anda aliran untuk menulis file.
Dalam contoh di bawah ini, ada kontrol Button dengan gambar yang ditetapkan untuknya. Saat Anda mengklik tombol, komponen SaveFileDialog diinstalasi dengan filter yang memungkinkan file tipe .gif, .jpeg, dan .bmp. Jika file jenis ini dipilih dalam kotak dialog Simpan File, gambar tombol disimpan.
Penting
Untuk mendapatkan atau mengatur properti FileName, assembly Anda memerlukan izin yang diberikan oleh kelas System.Security.Permissions.FileIOPermission. Jika Anda menjalankan dalam lingkungan kepercayaan parsial, proses mungkin menghasilkan pengecualian karena hak istimewa yang tidak memadai. Untuk informasi selengkapnya, lihat Dasar-Dasar Keamanan Akses Kode.
Contoh mengasumsikan formulir Anda memiliki kontrol Button dengan properti Image diatur ke file jenis .gif, .jpeg, atau .bmp.
Nota
Properti FileDialog dari kelas FilterIndex, yang merupakan bagian dari kelas SaveFileDialog karena pewarisan, menggunakan indeks berbasis satu. Ini penting jika Anda menulis kode untuk menyimpan data dalam format tertentu (misalnya, menyimpan file dalam teks biasa versus format biner). Properti ini ditampilkan dalam contoh di bawah ini.
Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click ' Displays a SaveFileDialog so the user can save the Image ' assigned to Button2. Dim saveFileDialog1 As New SaveFileDialog() saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif" saveFileDialog1.Title = "Save an Image File" saveFileDialog1.ShowDialog() ' If the file name is not an empty string open it for saving. If saveFileDialog1.FileName <> "" Then ' Saves the Image via a FileStream created by the OpenFile method. Dim fs As System.IO.FileStream = Ctype _ (saveFileDialog1.OpenFile(), System.IO.FileStream) ' Saves the Image in the appropriate ImageFormat based upon the ' file type selected in the dialog box. ' NOTE that the FilterIndex property is one-based. Select Case saveFileDialog1.FilterIndex Case 1 Me.button2.Image.Save(fs, _ System.Drawing.Imaging.ImageFormat.Jpeg) Case 2 Me.button2.Image.Save(fs, _ System.Drawing.Imaging.ImageFormat.Bmp) Case 3 Me.button2.Image.Save(fs, _ System.Drawing.Imaging.ImageFormat.Gif) End Select fs.Close() End If End Sub
private void button2_Click(object sender, System.EventArgs e) { // Displays a SaveFileDialog so the user can save the Image // assigned to Button2. SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif"; saveFileDialog1.Title = "Save an Image File"; saveFileDialog1.ShowDialog(); // If the file name is not an empty string open it for saving. if(saveFileDialog1.FileName != "") { // Saves the Image via a FileStream created by the OpenFile method. System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile(); // Saves the Image in the appropriate ImageFormat based upon the // File type selected in the dialog box. // NOTE that the FilterIndex property is one-based. switch(saveFileDialog1.FilterIndex) { case 1 : this.button2.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); break; case 2 : this.button2.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Bmp); break; case 3 : this.button2.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Gif); break; } fs.Close(); } }
private: System::Void button2_Click(System::Object ^ sender, System::EventArgs ^ e) { // Displays a SaveFileDialog so the user can save the Image // assigned to Button2. SaveFileDialog ^ saveFileDialog1 = new SaveFileDialog(); saveFileDialog1->Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif"; saveFileDialog1->Title = "Save an Image File"; saveFileDialog1->ShowDialog(); // If the file name is not an empty string, open it for saving. if(saveFileDialog1->FileName != "") { // Saves the Image through a FileStream created by // the OpenFile method. System::IO::FileStream ^ fs = safe_cast\<System::IO::FileStream*>( saveFileDialog1->OpenFile()); // Saves the Image in the appropriate ImageFormat based on // the file type selected in the dialog box. // Note that the FilterIndex property is one based. switch(saveFileDialog1->FilterIndex) { case 1 : this->button2->Image->Save(fs, System::Drawing::Imaging::ImageFormat::Jpeg); break; case 2 : this->button2->Image->Save(fs, System::Drawing::Imaging::ImageFormat::Bmp); break; case 3 : this->button2->Image->Save(fs, System::Drawing::Imaging::ImageFormat::Gif); break; } fs->Close(); } }
(Visual C# dan Visual C++) Tempatkan kode berikut di konstruktor formulir untuk mendaftarkan penanganan aktivitas.
this.button2.Click += new System.EventHandler(this.button2_Click);
this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
Untuk informasi selengkapnya tentang menulis aliran file, lihat BeginWrite dan Write.
Nota
Kontrol tertentu, seperti kontrol RichTextBox, memiliki kemampuan untuk menyimpan file.
Lihat juga
- SaveFileDialog
- Komponen SaveFileDialog
.NET Desktop feedback