Я пытался выяснить, но это настолько сложно, поэтому я хотел бы спросить, так как я не мог получить ответДобавление узлов TreeView В Для/ForEach Loop
CheckForIllegalCrossThreadCalls = false;
FolderBrowserDialog fbd = new FolderBrowserDialog();
if(fbd.ShowDialog() == DialogResult.OK)
{
Thread t = new Thread(() => StartListing(fbd.SelectedPath));
SplittedPath = fbd.SelectedPath.Split(Path.DirectorySeparatorChar);
t.Start();
foreach(string s in SplittedPath)
{
if(treeView1.Nodes.Count > 0)
{
treeView1.Nodes[i].Nodes.Add(s);
i++;
treeView1.Nodes[i].ImageIndex = 0;
}
else
{
treeView1.Nodes.Add(s);
treeView1.Nodes[0].ImageIndex = 0;
}
}
}
Вот мой код. SplittedPath строка обычно кажется good.It имеет все расщепляется вещами, но в цикле ForEach, похоже, есть только 2 string.When удаляют
if(treeView1.Nodes.Count > 0)
{
treeView1.Nodes[i].Nodes.Add(s);
i++;
treeView1.Nodes[i].ImageIndex = 0;
}
else
{
treeView1.Nodes.Add(s);
treeView1.Nodes[0].ImageIndex = 0;
}
This коды, он просто работает fine.When добавить их к ForEach цикл, он просто не добавляет все строки SplittedPath. Любое решение?
Что вы пытаетесь сделать? – ppetrov
Если я выбираю «C: \ Users \ The Cowboy \ Desktop \ Socket Server», я хочу добавить узел «C:», а затем добавить к нему дочерний узел «Пользователи», а потом дочерний узел «The Cowboy» ... Думаю, ты понял, что я имею в виду. –
Да, я понимаю, теперь вы должны обновить свой вопрос тем, что вы сказали. О том, что у вас есть итеративное и рекурсивное решение вашей проблемы, с какой именно проблемой вы столкнулись? – ppetrov