CSV分割ツールを自作しよう!(第3回・全ソースとダイアログ表示編)

プログラミング入門
この記事は約3分で読めます。

いよいよ、CSV分割ツールの解説に入りたいと思います。

今回は、全ソースの掲載と、ファイル選択ダイアログ、フォルダ選択ダイアログを表示する方法に関する部分です。

全体のソースコード

全体のソースコードは以下の通りです。

今は中身が理解できないと思いますので、ここでは全体の雰囲気を把握するという意味で、軽く目をとおしていただければ結構です。

Visual Studio 2019 のプロジェクトファイル一式は、下記からダウンロードできますので、入力が面倒という方はご利用ください。

分割実行ボタンの処理は少し大きめなので次回に説明するとして、今回はダイアログの表示について説明していきます。

ダイアログの表示

今回使うダイアログは、ファイル選択とフォルダ選択の2種類です。

ファイルを選択する場合は OpenFileDialogクラスを、フォルダを選択する場合は FolderBrowserDialogクラスを使います。

ダイアログを使うには、あらかじめインスタンスを生成しておく必要がありますが、その方法としてVisual Studioのレイアウトエディタからドラッグ&ドロップする方法と、ソースコード上で直接インスタンスを生成する方法の2通りが存在します。

今回はソースコード上で直接インスタンスを生成することにしました。

ダイアログについて詳しくお知りになりたい方は、こちらをご覧ください。

ダイアログでユーザーが何かを選択し、決定ボタンをクリックした際、戻り値とプロパティに結果が反映されます。

戻り値は押されたボタンの種類が、プロパティには選択された値が格納されますので、それを利用します。

下記はCSV選択ボタンのイベントハンドラです。

ダイアログのインスタンスを生成し、ShowDialog メソッドでダイアログを表示します。

ダイアログで何らかのボタンが押された場合、その結果が DialogResult 列挙型として返されますので、OKボタンが押されたことを確認しています。

ファイルオープンダイアログで選択された値は、FileNameというプロパティに格納されていますので、OKボタンが押されていたら uxCsvFile という名前を付けたTextBoxに、選択されたファイル名を代入しています。

ちなみに、インスタンスを生成した直後に

という処理を行っていますが、これはダイアログを表示する前に、 uxCsvFile の内容をダイアログのFileNameプロパティに代入することで、そのファイルが選択された状態を作り出しています。

こうすることで、ダイアログを開いた際、そのファイルがあるフォルダから選択できるようになります。

また、フォルダ選択ダイアログのイベントハンドラも、ファイルオープンダイアログと同様の処理を行っています。

まとめ

いいかがでしたでしょうか。

今回はダイアログの表示と値の取得部分についての解説を行いました。

次回は、分割実行ボタンのクリックイベントについて解説したいと思います。

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