前田稔(Maeda Minoru)の超初心者のプログラム入門
using System.IO; // for File using System.Management; // for ドライブ情報の取得 (注)参照の追加 |
private TreeView treeView1; ImageList imageList1 = new ImageList(); string[] iconFiles = { "C:\\DATA\\Test\\null.ico", "C:\\DATA\\Test\\folder.ico", "C:\\DATA\\Test\\fdd.ico", "C:\\DATA\\Test\\hdd.ico", "C:\\DATA\\Test\\cd.ico", "C:\\DATA\\Test\\remove.ico" }; |
// Tree View にノードを設定 private void MyForm_Load(object sender, System.EventArgs e) { imageList1.ImageSize = new Size(16, 16); treeView1.ImageList = imageList1; imageList1.Images.Clear(); for (int i = 0; i < iconFiles.GetLength(0); i++) { imageList1.Images.Add(new Bitmap(iconFiles[i])); } string[] drives = Directory.GetLogicalDrives() ; foreach(string drive in drives) { string drive2 = drive.Substring(0, 2) ; // 末尾の'\'をカット ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + drive2 + "\""); disk.Get(); TreeNode tn = new TreeNode(drive2) ; if (drive2=="A:") tn.ImageIndex = tn.SelectedImageIndex = 2; else if (disk["DriveType"].ToString()=="3") tn.ImageIndex = tn.SelectedImageIndex = 3; else if (disk["DriveType"].ToString()=="5") tn.ImageIndex = tn.SelectedImageIndex = 4; else if (disk["DriveType"].ToString()=="2") tn.ImageIndex = tn.SelectedImageIndex = 5; else tn.ImageIndex = tn.SelectedImageIndex = 1; tn.Nodes.Add("dummy"); // +を表示するためにダミーノード treeView1.Nodes.Add(tn); } } |