ファイルを開く処理
開く
メニューのClick
イベントにOpenMenu_Click
と入力してEnterを押します。
OpenMenu_Click
に以下を書きます。
もし赤波線表示が出たらいつものやり方で解消してください。
// 「ファイルを開く」ダイアログ生成
var dialog = new OpenFileDialog();
// ファイルの種類
dialog.Filter = "テキスト ドキュメント (*.txt)|*.txt|すべてのファイル (*.*)|*.*";
// ダイアログを表示(ファイルが選択されて「開く」が押されたらtrueが返ってくる)
if (dialog.ShowDialog() == true)
{
try
{
IsEnabled = false;
using var reader = new StreamReader(
dialog.FileName,
encoding: Encoding.UTF8);
// 読み込んだ内容をTextBoxに設定
Memo.Text = reader.ReadToEnd();
// ステータスバー更新
StatusInfo.Content = $"{dialog.FileName} を開きました。";
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
IsEnabled = true;
}
}
ダイアログのFilter
プロパティは、
「ファイルの種類コンボボックスに表示するテキスト」と、
「それを選択したときにファイル一覧に表示する拡張子」の順で
任意の個数、|
区切りで指定します。
テキスト ドキュメント (*.txt)|*.txt|すべてのファイル (*.*)|*.*
表示テキスト | 拡張子 |
---|---|
テキスト ドキュメント (*.txt) |
*.txt |
すべてのファイル (*.*) |
*.* |
ファイルを保存する処理
名前を付けて保存
メニューのClick
イベントにSaveAsMenu_Click
イベントハンドラを設定し、以下を書きます。
// 「名前を付けて保存」ダイアログ生成
var dialog = new SaveFileDialog
{
// ファイルの種類
Filter = "テキスト ドキュメント (*.txt)|*.txt|すべてのファイル (*.*)|*.*",
// 既定の拡張子
DefaultExt = "txt",
// ファイル上書き警告表示
OverwritePrompt = true
};
// ダイアログを表示(ファイルを指定して「保存」が押されたらtrueが返ってくる)
if (dialog.ShowDialog() == true)
{
try
{
IsEnabled = false;
using var writer = new StreamWriter(
dialog.FileName,
append: false,
encoding: Encoding.UTF8);
// TextBoxの内容をファイル出力
writer.Write(Memo.Text);
// ステータスバー更新
StatusInfo.Content = $"{dialog.FileName} を保存しました。";
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
IsEnabled = true;
}
}
📘他の書き方
SaveFileDialog
の初期化は、OpenFileDialog
の時のように以下の書式でも書けますが、設定するプロパティが多い場合は上の書式の方がすっきり書けます。
// 「名前を付けて保存」ダイアログ生成
var dialog = new SaveFileDialog();
// ファイルの種類
dialog.Filter = "テキスト ドキュメント (*.txt)|*.txt|すべてのファイル (*.*)|*.*";
// 既定の拡張子
dialog.DefaultExt = "txt";
// ファイル上書き警告表示
dialog.OverwritePrompt = true;
終了処理
終了
メニューのClick
イベントにCloseMenu_Click
イベントハンドラを設定し、以下を書きます。
Close();
文字サイズ変更処理
文字サイズ標準
メニューのClick
イベントにTextSizeMenu_Click
イベントハンドラを設定し、以下を書きます。
Memo.FontSize = Zoom.IsChecked == true ? 36 : 12;
📘他の書き方
if (Zoom.IsChecked == true)
{
Memo.FontSize = 36;
}
else
{
Memo.FontSize = 12;
}
文字サイズ拡大
がチェックされていたらTextBox
の文字サイズに36を、それ以外(文字サイズ標準
)の場合は12を設定します。
文字サイズ拡大
のClick
イベントにもTextSizeMenu_Click
を設定しておいてください。
バージョン情報表示処理
バージョン情報
メニューのClick
イベントにAboutMenu_Click
イベントハンドラを設定し、以下を書きます。
MessageBox.Show("バージョン 0.01", "メモ");
完成です。
実行
実行してみます。
適当に何か入力し、表示
メニューを開きます。
文字サイズ拡大
を選択します。
文字が大きくなりました。
ファイル
> 名前を付けて保存
を選択します。
適当な保存先を選び、ファイル名を指定し、保存
ボタンを押します。
テキストの内容を適当に変更し、ファイル
> 開く
を選択します。
さきほど保存したファイルを指定します。
復元されました。
復習ポイント
- 「ファイルを開く(ファイル選択)」ダイアログ
- 「名前を付けて保存(ファイル保存)」ダイアログ