多语言展示
当前在线:588今日阅读:195今日分享:41

C# WinForm VS2013获取计算机中所有驱动器信息

计算机中驱动器信息主要包括可用空闲空间总量、文件系统的名称、驱动器类型、驱动器是否已准备好、驱动器的名称、动器的根目录、驱动器上存储空间的总大小、驱动器的卷标等等。 本经验根据选择的盘符名来显示相应驱动器的信息。使用到的类为DriveInfo类,使用的命名空间:System.IO。
工具/原料

Visual Studio 2013

方法/步骤
1

【1】打开软件Visual Studio 2013,并创建Windows窗口应用程序。【2】修改主窗口的文本信息为DemoForm。【3】修改主窗口的名称为MainForm。

2

【1】在主窗口添加两个控件分别为ComboBox控件和TextBox控件。【2】将ComboBox控件的Name改为comBoxList,将DropDownStyle更改为DropDownList。【3】将TextBox控件的Name更改为txtBoxDisplay。

3

【1】注册主窗口加载事件private void MainForm_Load(object sender, EventArgs e)。 【2】注册ComboBox控件comBoxLis组合框下拉事件private void comBoxList_DropDown(object sender, EventArgs e)。 【3】注册ComboBox控件comBoxLis索引值SelectedIndex发送改变事件private void comBoxList_SelectedIndexChanged(object sender, EventArgs e)。

4

【1】修改主窗口FormBorderStyle属性为Fixed3D,即固定窗体大小不可更改。【2】调整控件在主窗体的布局,并更改ComboBox控件comBoxLis的背景色和前景色。

5

【1】将获取的盘符名添加到ComboBox控件comBoxLis的Itmes集合中,在下拉列表中可看到。#region 显示驱动器盘符名称        private void DisplayDrivesName(ComboBox comBox)        {            DriveInfo[] dveInfo = DriveInfo.GetDrives();//获取计算机上驱动器名称            if (dveInfo.Length > 0)            {                comBox.Items.Clear();//清空内容                for (int i = 0; i < dveInfo.Length; i++)                    comBox.Items.Add(dveInfo[i].Name);//盘符名添加到ComboBox            }        }        #endregion 【2】加载主窗口时将盘符名添加到ComboBox控件comBoxLis的Itmes集合中,并显示第一个盘符名。#region 加载主窗口        private void MainForm_Load(object sender, EventArgs e)        {            DisplayDrivesName(this.comBoxList);//显示驱动器盘符名称            this.comBoxList.Text = this.comBoxList.Items[0].ToString();//显示第一个盘符名        }        #endregion

6

【1】ComboBox控件comBoxLis下拉组合框,重新获取驱动器名称,并将盘符名添加到下拉列表中。再重新添加盘符名前需要情况原来列表中的内容。#region 下拉组合框,重新获取驱动器名称        private void comBoxList_DropDown(object sender, EventArgs e)        {            DisplayDrivesName(this.comBoxList);//显示驱动器盘符名称        }        #endregion

7

【8】ComboBox控件comBoxLis下拉组合框索引值改变,获取相应驱动器详细信息。这个信息和我的电脑下的信息一致。#region 组合框索引值改变,获取相应驱动器详细信息        private void comBoxList_SelectedIndexChanged(object sender, EventArgs e)        {                        DriveInfo[] dveInfo = DriveInfo.GetDrives();//获取计算机上驱动器名称            int index = this.comBoxList.SelectedIndex;//当前索引值             double UGB = 1024 * 1024 * 1024.0;//字节转GB            long avbSpace = dveInfo[index].AvailableFreeSpace;//可用容量            long tolSpace = dveInfo[index].TotalSize;//总容量            long useSpace = tolSpace - avbSpace;//已用容量              this.txtBoxDisplay.Clear();//清空            this.txtBoxDisplay.AppendText('空间总容量    : ' + (tolSpace / UGB).ToString('0.00') + 'GB' + '    ' + avbSpace + 'Byte\r\n');//保留2位小数            this.txtBoxDisplay.AppendText('已用空间      : ' + (useSpace / UGB).ToString('0.00') + 'GB' + '    ' + useSpace + 'Byte\r\n');            this.txtBoxDisplay.AppendText('可用空间      : ' + (avbSpace / UGB).ToString('0.00') + 'GB' + '    ' + avbSpace + 'Byte\r\n\r\n');                        this.txtBoxDisplay.AppendText('驱动器是否就绪: ' + dveInfo[index].IsReady + '\r\n');            this.txtBoxDisplay.AppendText('文件系统名称  : ' + dveInfo[index].DriveFormat + '\r\n');            this.txtBoxDisplay.AppendText('驱动器类型    : ' + (DriveType)dveInfo[index].DriveType + '\r\n\r\n');             this.txtBoxDisplay.AppendText('驱动器根目录  : ' + dveInfo[index].RootDirectory + '\r\n');            this.txtBoxDisplay.AppendText('驱动器名称    : ' + dveInfo[index].Name + '\r\n');            this.txtBoxDisplay.AppendText('驱动器卷标    : ' + dveInfo[index].VolumeLabel);                     }        #endregion  【2】可以看到获取的信息和我的计算机下设备和驱动器信息一致。

注意事项
1

本人原创经验,仅供参考,若有不足之处请留言指正,若觉得写得好或凑合的话,请点击本页面左下角投票,谢谢了\(^o^)/

2

若有任何意见与帮助,请关注后私信留言,非喜勿喷

3

需要相关帮助请投票后关注私信

推荐信息