Dialogfeld `Datei speichern` in C#

Naila Saad Siddiqui 15 Februar 2024
  1. Klasse SaveFileDialog in C#.
  2. Abschluss
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 ein SaveFileDialog-Steuerelement erstellen. Ein SaveFileDialog 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 eines SaveFileDialog lautet:
    SaveFileDialog saveDialog = new SaveFileDialog();
    

    Der obige Code erstellt ein SaveFileDialog-Box-Objekt. Um diesen Dialog anzuzeigen, verwenden wir nun die Methode ShowDialog:

    saveDialog.showDialog();
    
    • Erstellen Sie SaveFileDialog durch Design. Ziehen Sie ein SaveFileDialog-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.

    Dialogsteuerung Datei speichern

  • 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.

    Eigenschaften des Dateidialogs speichern

    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 ein Stream-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:

Datei speichern Dialog Ausgabe 1

Wenn wir auf die Schaltfläche Datei speichern klicken, erscheint das folgende Popup-Dialogfeld:

Datei speichern Dialog Ausgabe 2

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.

Verwandter Artikel - Csharp GUI