小弟在自作的小程序中遇到了些问题,也查了些资料,但如下问题仍不头绪,请求各位帮助:1.打开"我的电脑"  看到本地硬盘的那些写的是卷标,像C盘是System..之类的, 而下面的光驱、移动设备等 如果在不使用的状态的情况下 那些写的其实不是卷标
   比如光驱什么的  写的DVD/CD驱动器 有的是DVD驱动器什么的  还有其他什么的   这些都不属于卷标  那从系统中如何获取这些字样呢 C#可以实现么?2.文件有实际大小,在Windows系统中由于带基于内核的压缩  文件还有占用空间大小 你看某个文件的属性里就可以看到 
  C#可以获取文件的实际大小FileInfo类的Length就可以实现了  而占用空间大小如何获取呢  而且FAT和NTFS下的压缩情况还不同 似乎也不能按某个算法来算
  汗 因为在格式化的时候簇的大小是可以512-4096自选的 你开某个盘的格式化的对话框就可以看到  那系统是如何获取的文件占用空间大小的呢 C++可以 C#可以实现?3.这也是最难的   Windows的"我的电脑"在"查看"里可以实现平铺、图标、缩略图、列表以及详细信息功能,但在.NET里 比如listView的View属性里惟独没有缩略图的功能,据说这个狠难实现   小弟在网上看到个C++实现的还不错  有人说也看到过VB.NET的  但C#不会做 我也想了狠久  没头绪  路过的朋友帮忙看看  小弟先谢过  在学校难得出来上网  希望朋友们多给点建议方法  
  请各位帮忙顶上去 谢谢!

解决方案 »

  1.   

    第一个问题,可以根据类型来分别
            private void button1_Click(object sender, EventArgs e)
            {
                string s = "";
                foreach (DriveInfo d in DriveInfo.GetDrives())
                {
                    s = d.DriveType.ToString() + "  " + d.Name.ToString();
                    if (d.IsReady)
                    {
                        s +="  "+ d.VolumeLabel.ToString() + "  " + d.DriveFormat.ToString();
                    }
                    MessageBox.Show(s );
                }
            }
      

  2.   

    缩略图我认为可以显示大图片,那图标可以使用小图片,效果一样的吧
    View、LargeImageList、SmallImageList这三个属性
      

  3.   

    二楼的   if ready 显示那个当然不错  那如果没ready呢   我要显示像CD/DVD驱动器 啊  什么的  从系统中获取
      

  4.   

    没有Ready也一样可以获取DriveType,得到DriveType就知道是软驱还是本地硬盘还是U盘还是DVD还是网络驱动器
     
      

  5.   

    DrivrType指能知道是什么类型   比如像摄象头啊 虚拟光驱啊之类   你怎么知道呢   总不要写全是可移动设备吧 我笔记本还带个记忆棒呢 上面写的Memory Stick  我怎么获取这些字样呢   我要的效果就是和你打开"我的电脑"一样的效果  
      

  6.   

    有时间上网问研究这些还不如自己看msdn,华而不实的东西需要用的时候一找就是了,能算什么好问题,找这个你有自己研究和思考了吗,需要你自己研究和思考吗。
      

  7.   

    第三个问题建议你使用一组第三方控件,叫做DotNetBar,不过有点耗资源。
      

  8.   

    我觉得楼主的这些问题不错
    起码比那些“怎么把变量从Form1传到Form2”好很多
    呵呵