C# GUI アプリケーションで OpenFileDialog を使用する方法

C Gui Apurikeshonde Openfiledialog Wo Shi Yongsuru Fang Fa



C# と Windows フォーム フレームワークを使用してグラフィカル アプリケーションを構築することは、C# のスキルを向上させる最良の方法の 1 つです。他のすべてのプログラミング形式と同様に、最終的にはファイルを操作するアプリケーションを構築することになります。

このチュートリアルでは、ボタンをクリックするだけでファイルを読み取ることができるアプリを構築する方法を学習することで、Windows グラフィカル アプリケーションの操作の基本を示します。







ここでは主に、ファイルシステムからファイルを参照して選択できる OpenFileDialog に焦点を当てます。これは System.Windows.Forms 名前空間の一部です。したがって、WFP ツールをインストールする必要があります。



プロジェクトの作成

OpenFileDialog コンポーネントを使用する前に、Windows フォームをサポートするプロジェクトを作成する必要があります。 Visual Studio 2022 以降を使用して、次に説明する手順に従うことができます。



Visual Studio 2022 を起動し、「新しいプロジェクトの作成」オプションを選択します。






次のステップでは、使用するプロジェクト テンプレートを選択します。私たちの場合は、Windows フォーム アプリを作成したいと考えています。このテンプレートを選択します。


次のステップでは、NET バージョンを選択し、プロジェクトの名前を指定します。



ボタンの追加

プロジェクトを作成すると、Visual Studio によってドラッグ アンド ドロップ エディターが表示され、必要なコンポーネントをドラッグできます。

この例の場合、最初に必要なのは、OpenFileDialog をトリガーするボタンです。ツールボックス メニューからボタンをキャンバスにドラッグ アンド ドロップします。


ボタンのテキストプロパティを「ファイルを開く」に変更します。

ボタンクリックイベントハンドラ

現時点では、ボタンをクリックしても何も起こりません。ボタンが OpenFileDialog を開くようにするには、イベント ハンドラーを追加する必要があります。

ボタンをダブルクリックするか、F7 キーを押してコード エディタを開きます。


ボタン イベント ハンドラーに次のコードを追加して、OpenFileDialog を初期化して開きます。

プライベートボイドボタン1_Click ( オブジェクト送信者、EventArgs e )
{
を使用して ( OpenFileDialog openFileDialog = 新しい OpenFileDialog ( ) )
{
もし ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
文字列選択ファイル = openFileDialog.ファイル名;
メッセージボックス.ショー ( 「選択したファイル:」 + 選択したファイル ) ;
}
}
}


この例では、まず OpenFileDialog クラスのインスタンスを作成します。また、リソースの無駄を避けるために、操作の完了後にステートメントが適切に破棄されるようにするために、「using」ステートメントも使用します。

次に、ユーザーが「OK」ボタンをクリックしてファイルの選択を確認したかどうかを確認します。

最後に、選択したパスの完全なパスを取得し、それを MessageBox コンポーネント内に表示します。

コードを実行して、その動作を確認してください。この例では、次のようにコードにより、ボタンのクリックに基づいてファイル セレクターを開き、選択したファイルへのパスを表示できます。

特定のファイルタイプの選択

アプリケーションの使用状況によっては、特定のファイルのみを読み取りたい場合があります。ここでファイルのフィルタリングが役に立ちます。画像ファイルのみを選択したいとします。 OpenFileDialog の「Filter」プロパティを設定することで、画像ファイルのファイル フィルター機能を実装できます。

次のコードを見てください。

プライベートボイドボタン1_Click ( オブジェクト送信者、EventArgs e )
{
を使用して ( OpenFileDialog openFileDialog = 新しい OpenFileDialog ( ) )
{
openFileDialog.Filter = '画像|*.jpg、*.jpeg、*.png、*.gif、*.bmp、*.tiff、*.webp、*.heif、*.ico、*.raw' ;
もし ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
文字列選択ファイル = openFileDialog.ファイル名;
メッセージボックス.ショー ( 「選択したファイル:」 + 選択したファイル ) ;
}
}
}


コードを実行してボタンをクリックすると、次の例に示すように、選択できるファイルの種類が表示されます。

ファイルの内容を表示する

アプリにさらに機能を追加するには、次のように MessageBox を使用してファイルの内容を表示します。

プライベートボイドボタン1_Click ( オブジェクト送信者、EventArgs e )
{
を使用して ( OpenFileDialog openFileDialog = 新しい OpenFileDialog ( ) )
{
openFileDialog.Filter = 「テキスト ファイル|*.txt」 ;
もし ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
文字列選択ファイル = openFileDialog.ファイル名;
文字列コンテンツ = File.ReadAllText ( 選択されたファイル ) ;
メッセージボックス.ショー ( 「ファイルの内容:」 + コンテンツ ) ;
}
}
}


この場合、テキスト ファイルは読みやすいため、テキスト ファイルをフィルタリングしています。ファイルを選択したら、File.ReadAllText() を使用して、ファイルの内容を変数に保存します。

次に、結果のファイル機能に示すように、メッセージ ボックスを使用してファイルの内容を表示します。

複数のファイルを選択する

「MultiSelect」プロパティを使用して、OpenFileDialog が複数のファイルを読み取れるようにすることもできます。これは、コピーや移動など、複数のファイルを選択する必要がある場合に便利です。

機能は次のとおりです。

プライベートボイドボタン1_Click ( オブジェクト送信者、EventArgs e )
{
を使用して ( OpenFileDialog openFileDialog = 新しい OpenFileDialog ( ) )
{
openFileDialog.Filter = 「テキスト ファイル|*.txt」 ;
openFileDialog.Multiselect = 真実 ;
もし ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
フォーリーチ ( だった ファイル openFileDialog.FileNames )
{
メッセージボックス.ショー ( 「選択したファイル:」 + ファイル ) ;
}
}
}
}


この例では、複数のテキスト ファイルを選択できる「MultiSelect」プロパティを使用します。

次に、選択した各ファイルを反復処理し、そのパスをメッセージ ボックスに表示します。


ほら、ありますよ!

結論

この素晴らしいチュートリアルでは、OpenFileDialog を使用してファイルを読み取り、内容を表示できる基本的な GUI アプリケーションを C# で構築する方法を学びました。また、特定のファイルのフィルタリング、複数のファイルの選択などの機能についても学習しました。