Reputation: 9
I'm trying to populate a combobox in a windows form with all my dvd/cd drives and say if they have a disc in them.
I'm trying to do it with a class tried sending an object and list but the object just comes up with and error and the list just comes up with collection.
using System;
using System.Windows.Forms;
namespace DVD_main
{
public frmMain()
{
InitializeComponent();
cboDrive.Items.AddRange(Cls_DVD_Player.DVDDrvCtrls.cdDrv);
}
}
using System;
using System.Collections.Generic;
using System.Windows;
using System.IO;
using System.Runtime.InteropServices;
namespace Cls_DVD_Controls
{
class DVDDrvCtrls
{
private static readonly object cboDrive;
public static List<string> cdDrv()
{
List<string> drvNames = new List<string>();
DriveInfo[] cdDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in cdDrives)
{
if (d.DriveType == DriveType.CDRom && d.IsReady)
{
drvNames.Add(d.Name + " " + d.VolumeLabel);
MessageBox.Show(d.Name + " " + d.VolumeLabel);
}
else if (d.DriveType == DriveType.CDRom) {
drvNames.Add(d.Name + " Drive Empty");
}
}
//drvNames.AsReadOnly.cdDrives;
return drvNames;
}
}
}
Upvotes: -1
Views: 170
Reputation: 9
/*this was the best i could do couldn't find way for the class to pass the details i wanted this was the best i could find*/
private void CheckDrive()
{
//string[] dvdDrives = new Cls_DVD_Player.DVDDrvCtrls();
//List<string> drvNames = new List<string>();
DriveInfo[] cdDrives = DriveInfo.GetDrives();
cboDrive.Items.Clear();
foreach (DriveInfo d in cdDrives)
{
if (d.DriveType == DriveType.CDRom && d.IsReady)
{
cboDrive.Items.Add(d.Name + " " + d.VolumeLabel);
//MessageBox.Show(d.Name + " " + d.VolumeLabel);
}
else if (d.DriveType == DriveType.CDRom)
{
cboDrive.Items.Add(d.Name + " Drive Empty");
}
}
}
Upvotes: 0