我是一名初学者程序员,在实习这个项目上我陷入困境
让我们说我在folder1中有hello.txt。Listbox1从folder1中获取了它,并将其放入列表框中。
listbox2对folder2做了相同的事情,除了扩展名不同 例如,在创建完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);
}
}
答案 0 :(得分:1)
难道不能只用ObservableCollection制作一个属性,然后将列表框绑定到它吗?然后,您只需清除它,列表框将再次为空。
答案 1 :(得分:0)
这是伪的,因此可能需要进行一些调整,但是基本上您可以单击按钮,或者在加载列表后将其放在第一个方法中,调整变量以匹配您的变量。
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”的文件。我认为应该给您正确的方向。如果您需要更多,请告诉我!