before processing use some validation like......
private void scan(string path)
{
if (Directory.Exists(path))
{
DirectoryInfo di = new DirectoryInfo(path);
DirectoryInfo[] Directories = di.GetDirectories("*",SearchOption.AllDirectories);
foreach (var item in Directories)
{
listBox1.Items.Add(item.Name);
foreach (var fileItem in item.GetFiles())
{
listBox1.Items.Add(" " + fileItem.Name);
}
scan(item.FullName);
}
}
}