Метод-расширение для разделения на несколько частей:
using System.Collections.Generic;
using System.Linq;
namespace Helpers
{
public static class ArrayHelperExtensions
{
public static IEnumerable<IEnumerable<T>> Split<T>(this T[] array, int size)
{
for (var i = 0; i < (float) array.Length/size; i++)
{
yield return array.Skip(i*size).Take(size);
}
}
}
}
Теперь берём массив и делим его на нужное кол-во частей:
var num = 3;
var parts = listbox1.Items.Split(num);
Дальше осталось записать в файлы.
Решение отсюда.
Указанный способ не самый быстрый, есть более быстрые способы -
см. тут.