private static TreeNode AddTreeNode(Shell32.FolderItem item, ref int imageCount, ImageList imageList, bool getIcons) { TreeNode tn = new TreeNode(); tn.Text = item.Name; tn.Tag = item; if (getIcons) { try { imageCount++; tn.ImageIndex = imageCount; imageCount++; tn.SelectedImageIndex = imageCount; imageList.Images.Add(ExtractIcons.GetIcon(item.Path, false, imageList)); // normal icon imageList.Images.Add(ExtractIcons.GetIcon(item.Path, true, imageList)); // selected icon } catch // use default { tn.ImageIndex = 1; tn.SelectedImageIndex = 2; } } else // use default { tn.ImageIndex = 1; tn.SelectedImageIndex = 2; } return(tn); }
private void InitImageList() { // setup the image list to hold the folder icons folderTreeViewImageList = new System.Windows.Forms.ImageList(); folderTreeViewImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; folderTreeViewImageList.ImageSize = new System.Drawing.Size(16, 16); folderTreeViewImageList.TransparentColor = System.Drawing.Color.Transparent; // add the Desktop icon to the image list try { folderTreeViewImageList.Images.Add(ExtractIcons.GetDesktopIcon()); } catch { // Create a blank icon if the desktop icon fails for some reason Bitmap bmp = new Bitmap(16, 16); Image img = (Image)bmp; folderTreeViewImageList.Images.Add((Image)img.Clone()); bmp.Dispose(); } this.ImageList = folderTreeViewImageList; }