private void LoadItems() { _loading = true; treeViewDisks.Nodes.Clear(); TreeNode root = treeViewDisks.Nodes.Add("Computer"); root.ImageIndex = (int)IconIndex.MyComputer; root.SelectedImageIndex = root.ImageIndex; // display volumes VolumeDeviceClass volumeDeviceClass = new VolumeDeviceClass(); TreeNode volumesNode = new TreeNode("Volumes"); volumesNode.ImageIndex = (int)IconIndex.Volume; volumesNode.SelectedImageIndex = volumesNode.ImageIndex; root.Nodes.Add(volumesNode); foreach (Volume device in volumeDeviceClass.Devices) { if ((usbOnlyToolStripMenuItem.Checked) && (!device.IsUsb)) continue; string text = null; if ((device.LogicalDrive != null) && (device.LogicalDrive.Length > 0)) { text += device.LogicalDrive; } if (text != null) { text += " "; } text += device.Description; if (device.FriendlyName != null) { if (text != null) { text += " - "; } text += device.FriendlyName; } TreeNode deviceNode = volumesNode.Nodes.Add(text); if (device.IsUsb) { deviceNode.ImageIndex = (int)IconIndex.Box; deviceNode.SelectedImageIndex = deviceNode.ImageIndex; } deviceNode.Tag = device; foreach (Device disk in device.Disks) { TreeNode diskNode = deviceNode.Nodes.Add(disk.Description + " - " + disk.FriendlyName); diskNode.ImageIndex = deviceNode.ImageIndex; diskNode.SelectedImageIndex = diskNode.ImageIndex; diskNode.Tag = device; } } root.ExpandAll(); _loading = false; }