[WPF][コード例] 入力されたテキストを指定されたファイルに保存する

スポンサーリンク

概要

この記事では、WPF(Windows Presentation Foundation)を使用してテキストボックスに入力された内容を、指定したテキストファイルに保存する例について解説します。

コード例

画面デザイン(XAML)

XAMLファイルで以下のようにUIを作成します。

<Window x:Class="WpfSaveTextExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Save Text Example" Height="250" Width="400">
    <Grid>
        <StackPanel Margin="20">
            <TextBox x:Name="textBox" MinHeight="100" MinWidth="200" TextWrapping="Wrap" AcceptsReturn="True" />
            <Button x:Name="btnSave" Content="保存" Click="btnSave_Click" />
        </StackPanel>
    </Grid>
</Window>ぷ

 

コードビハインド

次に、コードビハインド(MainWindow.xaml.cs)で以下のようにボタンのクリックイベントを処理します。

using System;
using System.IO;
using System.Windows;

namespace WpfSaveTextExample
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            try
            { 
                // テキストボックスの内容を取得
                string text = textBox.Text; 
                // ファイルに保存
                File.WriteAllText(@"C:\Worksaved_text.txt", text); 
                MessageBox.Show("テキストを保存しました"); 
           } 
           catch (Exception ex) 
           {
               MessageBox.Show("エラーが発生しました:" + ex.Message); 
           } 
        }
    }
}
実行例

実行例

書き込まれたファイルの例

書き込まれたファイルの例

解説

このサンプルでは、テキストボックスに入力された内容を保存するために、ボタンのクリックイベントを処理しています。

まず、ボタンがクリックされたときに実行されるbtnSave_Clickメソッド内で、以下の処理を行います。

  1. テキストボックスの内容を取得します。textBox.Textを使用して、テキストボックスのテキストを取得します。
  2. 取得したテキストをファイルに保存します。File.WriteAllTextメソッドを使用して、指定したファイルパス(ここでは”C:\Work\saved_text.txt”)にテキストを書き込みます。既存のファイルがある場合は上書きされます。
  3. 保存が成功した場合は、MessageBox.Showメソッドを使用して成功メッセージを表示します。保存中にエラーが発生した場合は、catchブロック内でエラーメッセージを表示します。

まとめ

このサンプルでは、File.WriteAllTextメソッドを使用してテキストをファイルに書き込みましたが、他の方法もあります。例えば、StreamWriterクラスを使用してテキストをファイルに書き込むこともできます。また、保存するファイルのパスや保存するファイルの形式(テキストファイル以外)を変更することも可能です。

さらに、このサンプルではエラーハンドリングも行っています。ファイルの書き込み中に何らかのエラーが発生した場合、try-catchブロック内のcatch節が実行され、エラーメッセージが表示されます。エラーハンドリングを行うことで、ユーザーに正確な情報を提供し、問題のトラブルシューティングを支援することができます。

Please follow and like us:

コメント

タイトルとURLをコピーしました