Tam yolu verilen bir klasörü verilen ListView nesnesine listelemeye yarayan csharp kodu alternatifidir.
public static void KlasorIcerikleriniListele(
ListView lvw, string path,
IOVs.ListelemeTuru fcls = IOVs.ListelemeTuru.Tumu,
string columns = "Klasör İçeriği;Yol")
{
ListViewVs.OnAyar(lvw, columns);
string[] docs = { };
switch (fcls)
{
case IOVs.ListelemeTuru.Dosya:
docs = Directory.GetFiles(path);
break;
case IOVs.ListelemeTuru.Klasor:
docs = Directory.GetDirectories(path);
break;
case IOVs.ListelemeTuru.Tumu:
docs = Directory.GetFileSystemEntries(path);
break;
default:
break;
}
string[] cl = columns.Split(';');
foreach (string str in docs)
{
str.Trim().Trim(Convert.ToChar(" "));
lvw.BeginUpdate();
ListViewItem lvw_item = lvw.Items.Add(Path.GetFileName(str));
if (cl.Length == 2)
{
lvw_item.SubItems.Add(Path.GetDirectoryName(str));
}
else if (cl.Length == 3)
{
lvw_item.SubItems.Add(Path.GetDirectoryName(str));
if (File.Exists(str))
{
lvw_item.SubItems.Add(Path.GetExtension(str));
}
else
{
lvw_item.SubItems.Add("");
}
}
lvw.EndUpdate();
}
lvw.Columns[0].Text = Path.GetFileName(path);
}