私は独自のC#ベースのアプリケーションランチャーを作成しています。これをTreeView
使用してアプリケーションショートカットを起動しますが、アイコンを画像としてに追加する方法がわかりませんTreeView
。ファイルを取得するための現在のコードは次のとおりです。
private void homeMenu_Load(object sender, EventArgs e)
{
this.ShowInTaskbar = false;
if (Directory.Exists((Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName + "\\Roaming\\Launcher")))
{
}
else
{
Directory.CreateDirectory(Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName + "\\Roaming\\Launcher");
}
DirectoryInfo launcherFiles = new DirectoryInfo(Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName + "\\Roaming\\Launcher");
lstPrograms.Nodes.Add(CreatingDirectoryTreeNode(launcherFiles));
lstPrograms.Sort();
}
private static TreeNode CreatingDirectoryTreeNode(DirectoryInfo directoryInfo)
{
var directoryNode = new TreeNode(directoryInfo.Name);
foreach (var directory in directoryInfo.GetDirectories())
{
directoryNode.Nodes.Add(CreatingDirectoryTreeNode(directory));
}
foreach (var file in directoryInfo.GetFiles())
{
directoryNode.Nodes.Add(new TreeNode(file.Name));
}
return directoryNode;
}
私が抱えている主な問題は、特定のノードのTreeListのImageListにアイコンを追加することです。追加する必要があることはわかっています:
lstPrograms.ImageList.Images.Add(Icon.ExtractAssociatedIcon());
TreeView
アイコンを実際に画像リストに追加するには、その特定の画像のインデックスを取得して、その相対ファイルとともにに追加するにはどうすればよいですか?