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 フォーム アプリケーションでそのプロパティを構成する方法について説明しました。