概要
前回の記事では、WPF(Windows Presentation Foundation)を使用して、指定したテキストファイルを読み込み、読み込んだ内容をテキストボックスに表示する例について解説しました。
今回は、前回のコード例を拡張して、ファイルダイアログで選択したファイル読み込めるようにしていきます。
コード例
画面デザイン(XAML)
XAMLファイルで以下のようにUIを作成します。前回と同じです。
<Window x:Class="WpfpenTextExample.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="btnOpen" Content="開く" Click="btnOpen_Click" /> </StackPanel> </Grid> </Window>ぷ
コードビハインド
次に、コードビハインド(MainWindow.xaml.cs)で以下のようにボタンのクリックイベントを処理します。
using System; using System.IO; using System.Windows; namespace WpfOpenTextExample { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void btnOpen_Click(object sender, RoutedEventArgs e) { try { // ファイルの読み込み OpenFileDialog openFileDialog = new OpenFileDialog(); if (openFileDialog.ShowDialog() == true) { string filePath = openFileDialog.FileName; string fileContent = File.ReadAllText(filePath); textBox.Text = fileContent; } } catch (Exception ex) { MessageBox.Show("エラーが発生しました:" + ex.Message); } } } }
解説
このサンプルでは、任意のファイルを読み込んで表示する例です。 btnOpen_Click(object sender, RoutedEventArgs e)イベント内で、以下の処理を行います。
- OpenFileDialog を使用して、ファイルを選択するダイアログを表示します。
- 選択したファイルはFileNameプロパティに格納されています。
- File.ReadAllTextメソッドで、選択されたファイルパスをを使用して ファイルを読み込みます。
- 読み込んだテキストをテキストボックスに表示します
- 読み込み中にエラーが発生した場合は、
catch
ブロック内でエラーメッセージを表示します。
まとめ
このサンプルでは、OpenFileDialogとFile.ReadAllText
を使用してテキスト読み込みましたが、他の方法もあります。例えば、StreamReader
クラスを使用してテキストを読み込むこともできます。また、読み込みをするファイルのパスや保存するファイルの形式(テキストファイル以外)を変更することも可能です。
さらに、このサンプルではエラーハンドリングも行っています。ファイルの読み込み中に何らかのエラーが発生した場合、try-catch
ブロック内のcatch
節が実行され、エラーメッセージが表示されます。エラーハンドリングを行うことで、ユーザーに正確な情報を提供し、問題のトラブルシューティングを支援することができます。
Please follow and like us:
コメント