private static int CompareNodes(TreeNode x, TreeNode y)
{
if (x.ImageIndex == 1 && y.ImageIndex != 1) // Case where x is a directory but y isn't
return -1;
else if (y.ImageIndex == 1 && x.ImageIndex != 1) // Case where y is a directory but x isn't
return 1;
else
return string.Compare(x.Text, y.Text, StringComparison.InvariantCultureIgnoreCase);
}