Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

[C#] TreeView im Thread ändern?

  Alt 24. Aug 2009, 16:45
Hallo ihr,
ich will in einem Thread ein Verzeichnis und dessen Unterverzeichnisse durchsuchen. Ich frage mich nun wie man das am besten erledigt:
Code:
private void BWThread_DoWork(object sender, DoWorkEventArgs e)
{
    TVTree.BeginUpdate();
    try
    {
        TVTree.Nodes.Clear();
        SearchPath(SelPath + "\\", "", TVTree.Nodes);
    }
    finally
    {
        TVTree.EndUpdate();
    }
}
Er erlaubt mir nämlich nicht auf TVTree zuzugreifen. Aber leider brauche ich den Tree, beziehungsweise den Rootnode, damit ich die Nodes füllen kann.

SearchPath sieht übrigens so aus:
Code:
private int SearchPath(string BasePath, string SubPath, TreeNodeCollection Root)
{
    DirectoryInfo dir = new DirectoryInfo(BasePath + SubPath);
    int FileCnt = 0;
 
    foreach (DirectoryInfo SubDir in dir.GetDirectories())
    {
        TreeNode tn = new TreeNode(SubDir.Name);
        tn.Checked = true;
        if (SearchPath(BasePath, SubPath + SubDir.Name + "\\", tn.Nodes) > 0)
            Root.Add(tn);                    
    }
    foreach (FileInfo DfmFile in dir.GetFiles("*.dfm"))
    {
        TreeNodePlus tn = new TreeNodePlus(DfmFile.Name);
        tn.Checked = true;
        DfmEntry entry = new DfmEntry(DfmFile.FullName);
        tn.Entry = entry;
        Root.Add(tn);
        FileCnt++;
    }
    return FileCnt;
}
MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat