【C#】TreeViewとListViewにシステムイメージ(アイコン)を表示する

2018年8月30日C#, 開発

おはようございます。
昨日に引き続き、Windows Forms で、エクスプローラーのような表示をするために、
今回はファイル・フォルダの横にアイコンを表示してみます。

プログラムは前回のものを流用します。

スポンサーリンク

プログラムの修正

DLL関数の呼び出し宣言を追加

システムイメージを利用するには「Shll32.dll」、「user32.dll」の関数を呼び出す必要があるため、関数呼び出しの宣言を追加します。

構造体や定数の定義

DLL関数で利用する構造体や定数の定義を追加します。

起動時にシステムイメージを登録

起動時の処理で、TreeView、ListViewにイメージのリストを登録します。

ListViewの内容更新時の処理を修正

TreeViewが選択された際にListViewの内容を更新する処理で、
表示するファイル、フォルダ―のイメージを取得して設定します。

TreeView展開時の処理を修正

同様に TreeView を展開する際の処理で、
フォルダ―のアイコンを取得して設定するように修正します。

起動してみる

起動イメージ
起動イメージ

無事に TreeView、ListViewにアイコンを表示することができ、
更にエクスプローラーのようなUIになりました。

まとめ

プログラムについては共通化したり、別クラスに処理をまとめたりできるので整理が必要ですが、
ひとまずアイコンを表示する方法を試してみました。

スポンサーリンク


関連するコンテンツ

2018年8月30日C#, 開発C#, CSharp, ListView, TreeView, WindowsForms, プログラミング, 画像

Posted by doradora