C# でのファイル ダイアログの保存
この簡単なガイドでは、C# で SaveFileDialog クラスを使用して、C# アプリから Windows ファイル ストレージにファイルを保存します。
C# の SaveFileDialog クラス
ユーザーはファイル システムを参照し、SaveFileDialog コンポーネントを使用して保存するファイルを選択できます。 ダイアログ ボックスは、ユーザーがそこで選択したファイルの名前とパスを返します。
ファイルをディスクに書き込むには、コードを記述する必要があります。
SaveFileDialog クラスの使用手順
-
最初のステップは、Windows フォーム アプリケーションを作成し、
SaveFileDialogコントロールを追加することです。実行時にコードで
SaveFileDialogクラスを使用するか、設計時にフォーム デザイナを使用して、SaveFileDialogコントロールを作成できます。SaveFileDialogは、他の Windows フォーム コントロールのようなビジュアル プロパティを持たず、持つ必要もありません。デザイン ビューまたは明示的なコードのいずれかを使用して、
SaveFileDialogコントロールを作成できます。 両方の方法を見てみましょう。- コードで
SaveFileDialogを作成します。SaveFileDialogを作成するコードは次のとおりです。
SaveFileDialog saveDialog = new SaveFileDialog();上記のコードは
SaveFileDialogボックス オブジェクトを作成します。 このダイアログを表示するには、ShowDialogメソッドを使用します。saveDialog.showDialog();- 設計を通じて
SaveFileDialogを作成します。 ツールボックスから Visual Studio のフォームにSaveFileDialogコントロールをドラッグ アンド ドロップして、設計時に SaveFileDialog コントロールを作成します。
下の図は、フォームにドラッグ アンド ドロップした後の
SaveFileDialogを示しています。
- コードで
-
2 番目のステップは、
SaveFileDialogのいくつかのプロパティを設定することです。 コーディング要件に従って使用できるさまざまなプロパティが用意されています。プロパティ ウィンドウからプロパティを設定するのが最も簡単なオプションです。 次の図は、[プロパティ] ウィンドウの外観を示しています。

このウィンドウでは、さまざまなプロパティを設定できます。 これらのプロパティのいくつかについて説明しましょう: -
初期ディレクトリInitial Directoryプロパティは、ファイルを保存するためのダイアログ ボックスが表示されたときに開くデフォルト ディレクトリを指定します。 このプロパティは、上記のプロパティ ウィンドウから、または次のようなコードを使用して設定できます。saveDialog.InitialDirectory = @"D:/New Folder";タイトルTitleプロパティは、ファイルを保存するために表示されるダイアログ ボックスに表示されるタイトルを設定します。saveDialog.Title = "Save Your File Here";フィルターファイル保存ダイアログの
filterプロパティは、ファイル保存ダイアログを使用して保存できるファイルの種類を制限します。 たとえば、ユーザーを制限したい場合は、バイナリ .bin ファイルのみを保存するためにフィルター オプションを指定できます。saveDialog.Filter = "bin files (*.bin)|*.bin|All files (*.*)|*.*";これらは、ファイルを保存するために設定できるいくつかのプロパティです。 他にもたくさんありますが、この記事ではこれらの重要なものについて説明します。
-
プロパティを設定したら、コードを記述してファイルをディスクに保存できます。 これには、
OpenFileメソッドが使用されます。 このメソッドは、ファイルをディスクに保存するために使用できるStreamオブジェクトを返します。Stream fileStream; if (saveDialog.ShowDialog() == DialogResult.OK) { if ((fileStream = saveDialog.OpenFile()) != null) { // You can write the code to write the file here. fileStream.Close(); } }
ここで、ファイルを保存するための完全なコードを要約しましょう。
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();
}
}
}
}
}
ボタンのクリック イベントでこのコードを記述して、ボタンがクリックされたときに保存ダイアログが開くようにしました。 これにより、次の出力が生成されます。

ファイルを保存ボタンをクリックすると、次のポップアップ ダイアログ ボックスが表示されます。

ダイアログ ボックスで、場所が [ドキュメント] フォルダーに設定され、ファイルの種類が [Bin ファイル] に設定されていることがわかります。
まとめ
ユーザーは Windows のファイル保存ダイアログを開始し、SaveFileDialog コントロールを使用してファイルを保存できます。 この記事では、Windows の [ファイルの保存] ダイアログを使用して、Windows フォーム アプリケーションでそのプロパティを構成する方法について説明しました。