void FileSystemTreeView_BeforeExpand(object sender, TreeViewCancelEventArgs e) { if (e.Node is FileNode) { return; } DirectoryNode node = (DirectoryNode)e.Node; if (!node.Loaded) { node.Nodes[0].Remove(); //remove the fake child node used for virtualization node.LoadDirectory(); if (this._showFiles == true) { node.LoadFiles(); } } }