Dialogfeld `Datei speichern` in C#
In dieser trivialen Anleitung geht es um die Verwendung der Klasse SaveFileDialog
in C#, um die Datei aus Ihrer C#-App im Windows-Dateispeicher zu speichern.
Klasse SaveFileDialog
in C#
.
Benutzer können das Dateisystem durchsuchen und auswählen, welche Dateien mit der Komponente SaveFileDialog
gespeichert werden sollen. Das Dialogfeld gibt den Namen und den Pfad der Datei zurück, die der Benutzer dort ausgewählt hat.
Um die Dateien auf die Disc zu schreiben, müssen Sie den Code schreiben.
Schritte zur Verwendung der Klasse SaveFileDialog
-
Der erste Schritt besteht darin, eine Windows Form-Anwendung zu erstellen und ein
SaveFileDialog
-Steuerelement hinzuzufügen.Unter Verwendung der
SaveFileDialog
-Klasse im Code zur Laufzeit oder des Forms-Designers zur Entwurfszeit können wir einSaveFileDialog
-Steuerelement erstellen. EinSaveFileDialog
hat keine visuellen Eigenschaften wie andere Windows Forms-Steuerelemente und muss diese auch nicht haben.Wir können ein
SaveFileDialog
-Steuerelement entweder über die Designansicht oder den expliziten Code erstellen. Schauen wir uns beide Methoden an:- Erstellen Sie
SaveFileDialog
durch Code. Der Code zum Erstellen einesSaveFileDialog
lautet:
SaveFileDialog saveDialog = new SaveFileDialog();
Der obige Code erstellt ein
SaveFileDialog
-Box-Objekt. Um diesen Dialog anzuzeigen, verwenden wir nun die MethodeShowDialog
:saveDialog.showDialog();
- Erstellen Sie
SaveFileDialog
durch Design. Ziehen Sie einSaveFileDialog
-Steuerelement per Drag-and-Drop aus der Toolbox auf ein Formular in Visual Studio, um zur Entwurfszeit ein SaveFileDialog-Steuerelement zu erstellen.
Die folgende Abbildung zeigt den
SaveFileDialog
nach dem Ablegen per Drag and Drop auf einem Formular. - Erstellen Sie
-
Der zweite Schritt besteht darin, einige Eigenschaften des
SaveFileDialog
festzulegen. Es stehen verschiedene Eigenschaften zur Verfügung, die gemäß Ihren Codierungsanforderungen verwendet werden können.Das Festlegen von Eigenschaften über das Eigenschaftenfenster ist die einfachste Option. Die folgende Abbildung zeigt, wie das Eigenschaftenfenster aussieht.
In diesem Fenster können verschiedene Eigenschaften eingestellt werden. Lassen Sie uns einige dieser Eigenschaften besprechen: -
Anfangsverzeichnis
Die Eigenschaft
Initial Directory
legt das Standardverzeichnis fest, das geöffnet wird, wenn das Dialogfenster zum Speichern der Datei erscheint. Diese Eigenschaft kann über das oben gezeigte Eigenschaftsfenster oder über den folgenden Code festgelegt werden:saveDialog.InitialDirectory = @"D:/New Folder";
“Titel”.
Die Eigenschaft
Title
legt den Titel fest, der auf dem Dialogfenster angezeigt wird, das zum Speichern der Datei erscheint:saveDialog.Title = "Save Your File Here";
Filtern
.Die Eigenschaft
filter
in einem Datei speichern-Dialog schränkt die Arten von Dateien ein, die mit einem Datei speichern-Dialog gespeichert werden können. Zum Beispiel können wir die Filteroption angeben, nur um binäre .bin-Dateien zu speichern, wenn Sie möchten, dass Benutzer darauf beschränkt sind.saveDialog.Filter = "bin files (*.bin)|*.bin|All files (*.*)|*.*";
Dies sind einige Eigenschaften, die zum Speichern der Datei festgelegt werden können. Es gibt zahlreiche andere, aber wir werden diese wichtigen in diesem Artikel besprechen.
-
Nachdem Sie die Eigenschaften festgelegt haben, können Sie den Code schreiben, um die Datei auf Disc zu speichern. Dazu wird die Methode
OpenFile
verwendet. Diese Methode gibt einStream
-Objekt zurück, mit dem die Datei auf einer Disc gespeichert werden kann.Stream fileStream; if (saveDialog.ShowDialog() == DialogResult.OK) { if ((fileStream = saveDialog.OpenFile()) != null) { // You can write the code to write the file here. fileStream.Close(); } }
Lassen Sie uns nun den vollständigen Code hier zusammenfassen, um eine Datei zu speichern:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFormsApp1 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.InitialDirectory = @"C:\Users\user01\OneDrive\Documents";
saveDialog.Title = "Save Your File Here";
saveDialog.Filter = "bin files (*.bin)|*.bin|All files (*.*)|*.*";
Stream fileStream;
if (saveDialog.ShowDialog() == DialogResult.OK) {
if ((fileStream = saveDialog.OpenFile()) != null) {
// You can write the code to write the file here.
fileStream.Close();
}
}
}
}
}
Wir haben diesen Code in das Click-Ereignis einer Schaltfläche geschrieben, sodass beim Klicken auf eine Schaltfläche der Speicherdialog geöffnet wird. Dies erzeugt die folgende Ausgabe:
Wenn wir auf die Schaltfläche Datei speichern
klicken, erscheint das folgende Popup-Dialogfeld:
Sie können im Dialogfeld sehen, dass der Speicherort auf den Ordner Dokumente
und der Dateityp auf Bin-Dateien
eingestellt ist.
Abschluss
Benutzer können den Windows-Dialog zum Speichern von Dateien starten und Dateien mit einem SaveFileDialog
-Steuerelement speichern. In diesem Artikel wurde die Verwendung eines Windows-Dialogfelds zum Speichern von Dateien und das Konfigurieren seiner Eigenschaften in einer Windows Forms-Anwendung erläutert.