Danke, zwar hast du wohl nicht verstanden, was genau ich meine, aber du hast genau das Bearbeitet, was ich meinte.
Hier die Lösung:
Code:
private string[] myDisc(string Buchstabe)
{
string[] myDisc = new string[5];
System.IO.DriveInfo di = new System.IO.DriveInfo(Buchstabe);
{
myDisc[0] = di.IsReady.ToString();
if (di.IsReady == true)
{
myDisc[1] = di.DriveType.ToString();
myDisc[2] = di.DriveFormat.ToString();
myDisc[3] = (((di.TotalSize / 1024) / 1024) / 1024).ToString();
myDisc[4] = (((di.AvailableFreeSpace / 1024) / 1024) / 1024).ToString();
}
}
return myDisc;
}
public Cleaner()
{
InitializeComponent();
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
string[] disc = myDisc(d.Name);
if (d.DriveType.ToString() == "Fixed")
{
lsbAusgabe.Items.Add("Festplatte: " + d.Name);
lsbAusgabe.Items.Add("Die größe der Festplatte beträgt: " + disc[3] + " GB");
lsbAusgabe.Items.Add("Der freie Speicher beträgt: " + disc[4] + " GB");
lsbAusgabe.Items.Add("-------------------------------------------------");
}
}
}
Nicht wundern, ich könnte das natürlich einfacher ohne Methode machen, aber wollte es einfach mal testen mit den Arrays.
Sorry für den Doppelpost, aber habe wieder ein Problem
Ich habe hier ein ListView und will z.b. in einem Label wiedergeben welches der User Markiert hat.
Hier mein Code:
Code:
private string[] myDisc(string Buchstabe)
{
string[] myDisc = new string[5];
System.IO.DriveInfo di = new System.IO.DriveInfo(Buchstabe);
{
myDisc[0] = di.IsReady.ToString();
if (di.IsReady == true)
{
myDisc[1] = di.DriveType.ToString();
myDisc[2] = di.DriveFormat.ToString();
myDisc[3] = ((di.TotalSize / 1024) / 1024).ToString();
myDisc[4] = ((di.AvailableFreeSpace / 1024) / 1024).ToString();
}
}
return myDisc;
}
[DllImport("uxtheme.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
private static extern int SetWindowTheme(IntPtr hWnd, string appName, string partList);
public Cleaner()
{
InitializeComponent();
ListViewItem myItem;
// Create columns for the items and subitems.
// Set the view to show details.
Tabelle.View = View.Details;
// Allow the user to edit item text.
Tabelle.LabelEdit = false;
// Allow the user to rearrange columns.
Tabelle.AllowColumnReorder = true;
// Display check boxes.
Tabelle.CheckBoxes = false;
// Select the item and subitems when selection is made.
Tabelle.FullRowSelect = true;
// Display grid lines.
Tabelle.GridLines = false;
SetWindowTheme(this.Tabelle.Handle, "explorer", null);
Tabelle.Columns.Add("", 72, HorizontalAlignment.Center);
Tabelle.Columns.Add("Partition", 60, HorizontalAlignment.Center);
Tabelle.Columns.Add("Speicher", 80, HorizontalAlignment.Right);
Tabelle.Columns.Add("Frei", 80, HorizontalAlignment.Right);
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
string[] disc = myDisc(d.Name);
if (d.DriveType.ToString() == "Fixed")
{
myItem = new ListViewItem(d.Name, "1273959727_HP-HDD-Dock-512.png");
myItem.SubItems.Add(d.Name);
myItem.SubItems.Add(disc[3] + " MB");
myItem.SubItems.Add(disc[4] + " MB");
Tabelle.Items.Add(myItem);
}
}
}