2 списка, 2 файла, 2 папки - PullRequest
       1

2 списка, 2 файла, 2 папки

0 голосов
/ 01 октября 2018

Я начинающий программист и застрял в этом проекте для моей стажировки.

Допустим, у меня есть hello.txt в папке 1. Listbox1 берет его из папки 1 и помещает в список.

listbox2делает то же самое с папкой 2, за исключением другого расширения. После того, как, например, я создал hello.DOCX, мне нужно удалить hello.txt из listbox1, но не из folder1

Надеюсь, это понятно

это мой код для получения файлов из папок

private void LBNietGedaan_Loaded(object sender, RoutedEventArgs e)
{
    DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\nour\Desktop\Niet gedaan");
    FileInfo[] Files = dinfo.GetFiles("*.txt");

    foreach (FileInfo file in Files)
    {
        LB1.Items.Add(file.Name);
    }
} 

private void LBGedaan_Loaded(object sender, RoutedEventArgs e)
{
    //zet files van een folder in de listbox
    DirectoryInfo dinfo = new 
    DirectoryInfo(@"C:\Users\nour\Desktop\Gedaan");
    FileInfo[] Files = dinfo.GetFiles("*.DOCX");

    foreach (FileInfo file in Files)
    {
        LB2.Items.Add(file.Name);
    }
}

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Это псевдо, поэтому может потребоваться некоторая настройка, но в основном вы можете сделать это, нажав кнопку, или поместить его в ваш первый метод после загрузки списка, отрегулируйте переменные так, чтобы они соответствовали вашим.

 List<string> one = new List<string>();
        foreach (String string1 in LB1.Items)
        {
            one.Add(string1);
        }
        List<string> two = new List<string>();
        foreach (String string2 in LB2.Items)
        {
            two.Add(string2);
        }

            foreach (String string1 in one)
        {
            foreach (String string2 in two)
            {
            string    cat1 = string1.Substring(0, string1.Length - 4);
              string  cat2 = string2.Substring(0, string2.Length - 5);
                if (cat1.Equals(cat2))
                {
                   LB1.Items.Remove(string1);
                    // if you want to stop after the first match, break; 
                    // else remove break to find all matches;

                    break;
                }
            }
        }

В основном это будет поиск элементов в элементах listbox1 и удаление любого файла с именем "yourtarget.txt".Я думаю, должен направить вас в правильном направлении.Если вам нужно больше, дайте мне знать!

0 голосов
/ 01 октября 2018

Разве вы не можете просто создать свойство с ObservableCollection или около того, а затем привязать к нему список?Затем вы можете просто очистить его, и список снова будет пустым.

Привязка ObservableCollection к WPF ListBox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...