示例#1
0
        private void workerLoadFiles_DoWork(object sender, DoWorkEventArgs e)
        {
            ICloudDirectoryEntry cloudEntry = (ICloudDirectoryEntry)e.Argument;

            // Loop on each entries
            IEnumerator cloudEntries = cloudEntry.GetEnumerator();

            while (cloudEntries.MoveNext())
            {
                var entry = cloudEntries.Current;
                if (entry is ICloudDirectoryEntry)
                {
                    // Nothing, it is a folder
                }
                else if (entry is ICloudFileSystemEntry)
                {
                    ICloudFileSystemEntry fsEntry = (ICloudFileSystemEntry)entry;
                    // Build new listviewitem object
                    ListViewItem newEntry = new ListViewItem(fsEntry.Name);
                    // Add size (add size to tag for sorting)
                    ListViewItem.ListViewSubItem subItems = newEntry.SubItems.Add(FileSizeFormat.Format(fsEntry.Length));
                    subItems.Tag = fsEntry.Length;
                    // Add modified date (add date to tag for sorting)
                    subItems     = newEntry.SubItems.Add(fsEntry.Modified.ToString());
                    subItems.Tag = fsEntry.Modified;
                    // Add object to tag
                    newEntry.Tag = fsEntry;
                    // Report progress new entry to worker
                    workerLoadFiles.ReportProgress(0, newEntry);
                }
            }
        }