概要
セーブファイルダイアログボックスは、保存する際、ファイル名とパスの入力を支援するダイアログボックスです。
サンプルコード
メインウィンドウのボタンを押すと、セーブファイルダイアログが開き、パスと名前を指定すると、 メインウィンドウのラベルにしていた、フルパスのファイル名が表示されます。
using Microsoft.Win32;を宣言しても、Microsoft.Win32.SaveFileDialogとクラスをフルパスで使用しないと、 クラスを認識してくれませんでした。原因は特定できませんでした。
[xaml]
<Window x:Class="SaveFileDialog.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="150" Width="200">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="80*"/>
<RowDefinition Height="40*"/>
</Grid.RowDefinitions>
<Button Name="btn0" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Width="170" Height="50" Click="btn0_Click">
SaveFileDialogを開きます。
</Button>
<Label Name="Label01" content="メッセージ" Grid.Row="1" Background="Cornsilk" />
</Grid>
</Window>
[xaml.cs]
using System;
using System.Windows;
using System.IO; // ファイル操作で使用する。
using Microsoft.Win32; // オープンファイル・ダイアログボックスで使用する。
namespace SaveFileDialog
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btn0_Click(object sender, RoutedEventArgs e)
{
msd_SaveFileDialogProcess();
}
private void msd_SaveFileDialogProcess()
{
// ラベルの内容を消去します。
Label01.Content = "";
// Configure save file dialog box セーブ・ファイル・ダイアログボックスを設定します。
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Default file name 既定のファイル名
dlg.DefaultExt = ".text"; // Default file extension 既定のファイル拡張子
dlg.Filter = "Text documents (.txt)|*.txt";
// Filter files by extension 拡張機能によってファイルにフィルターをかけます。
// Show save file dialog box 既定のファイル拡張子
Nullable<bool> result = dlg.ShowDialog();
// Process save file dialog box results セーブ・ファイル・ダイアログボックスを表示します。
if (result == true)
{
// ファイル名をフルパスで表示します。
string filename = dlg.FileName;
Label01.Content = filename;
}
}
}
}
参考サイト
動作確認環境
Microsoft Visual Studio Express 2013 for Desktop 64bit
Windows 8.1 pro 64bit
Windows 8.1 pro 64bit
関連ページ
OpenFileDialogで、複数の種類の拡張子フィルタから選択できるようにするには?
ファイル・オープン・ダイアログ、ファイル・セーブ・ダイアログでは、表示されるファイルを拡張子でフィルタリングすることができます。この機能を使うとファイルが探しやすくなります。