Если оба действия происходят в одном и том же процессе, вы можете просто сохранить список имен файлов в памяти (и вы уже добавили их в listaimg
):
public string[] GetFilesImg4() //jpg files
{
string tempPath = @"C:\temporario";
if (!Directory.Exists(tempPath))
{
foreach (string filename in listimga.Items)
{
if (!filename.Contains("protected"))
list4.Add(Path.Combine(tempPath, filename);
}
}
return (string[])list4.ToArray(typeof(string));
}
, если это разные процессытогда вы можете просто сбросить содержимое вашего listimga
в какой-то момент и затем прочитать его из того же файла.В приведенном ниже примере я сохраняю его в файле с именем "order.txt" в том же каталоге, но логика может быть более сложной, например, объединение нескольких файлов с отметкой времени и т. Д.
// somewhere in after selecting all files
File.WriteAllLines(@"c:\temporario\order.txt", listimga.Items.Select(t=>t.ToString()));
public string[] GetFilesImg4() //jpg files
{
string tempPath = @"C:\temporario";
if (!Directory.Exists(tempPath))
{
var orderedFilenames = File.ReadAllLines(Path.Combine(tempPath, "order.txt")); // list of files loaded in order
foreach (string filename in orderedFilenames)
{
if (!filename.Contains("protected"))
list4.Add(Path.Combine(tempPath, filename);
}
}
return (string[])list4.ToArray(typeof(string));
}
это такжеХорошая идея - изучить доступный метод в классе, например, в этом случае string.IndexOf(s) == -1
эквивалентно !string.Contains(s)
, а последний гораздо удобнее для чтения, по крайней мере, для англоговорящего человека.
Я также заметил, что вашпользователи должны выбирать документы один за другим, но диалоги FileOpen позволяют выбирать несколько файлов одновременно, и я считаю, что это также сохраняет порядок выбора.
Если порядок выбора важен и диалоговые окна открытия файлов не применяютсяне соблюдайте порядок, или пользователям трудно следить за тем, чтобы по-прежнему можно было использовать диалоговое окно открытия множественного выбора файлов, а затем разрешить изменить порядок в списке listimga
, чтобы получить правильный порядок.