Windowsアプリケーションを作成する際、ユーザに「ファイルを開く」「ファイルを保存する」ダイアログを表示してファイルを指定させたい場合があると思います。
本記事では、「ファイルを開く」「ファイルを保存する」ダイアログの表示処理のサンプルコードを紹介します。
ファイルを開くダイアログのサンプル
フォームにボタンbtnOpenFileを配置。
クリックイベントを下記のように記述してください。
private void btnOpenFile_Click(object sender, EventArgs e)
{
// 「ファイルを開く」ダイアログのインスタンスを作成
OpenFileDialog openFileDialog = new OpenFileDialog();
// ダイアログの設定
openFileDialog.InitialDirectory = "c:\\"; // 初期フォルダをCドライブに設定
openFileDialog.Filter = "テキストファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*"; // フィルターを設定
openFileDialog.FilterIndex = 1; // デフォルトのフィルターインデックスを設定
openFileDialog.RestoreDirectory = true; // ダイアログが閉じられた後もディレクトリを元に戻す
// ダイアログを表示
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// 選択されたファイルパスを取得
string filePath = openFileDialog.FileName;
// ★ファイルパスを使用する処理をここに記述する
MessageBox.Show("選択されたファイル: " + filePath);
}
}
ファイルを保存するダイアログのサンプル
フォームにボタンbtnSaveFileを配置。
クリックイベントを下記のように記述してください。
private void btnSaveFile_Click(object sender, EventArgs e)
{
// 「ファイルを保存する」ダイアログのインスタンスを作成
SaveFileDialog saveFileDialog = new SaveFileDialog();
// ダイアログの設定
saveFileDialog.InitialDirectory = "c:\\"; // 初期フォルダをCドライブに設定
saveFileDialog.Filter = "テキストファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*"; // フィルターを設定
saveFileDialog.FilterIndex = 1; // デフォルトのフィルターインデックスを設定
saveFileDialog.RestoreDirectory = true; // ダイアログが閉じられた後もディレクトリを元に戻す
// ダイアログを表示
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
// 選択されたファイルパスを取得
string filePath = saveFileDialog.FileName;
// ★ファイルにデータを書き込む処理をここに記述する
MessageBox.Show("保存先ファイル: " + filePath);
}
}
まとめ
本記事では、「ファイルを開く」「ファイルを保存する」ダイアログの表示処理のサンプルコードを紹介しました。