public override void RequestChildNodes(TreeNodePath parent, System.Windows.Forms.TreeViewCancelEventArgs e)
        {
            Raccoom.Win32.ShellItem folderItem = ((Raccoom.Win32.ShellItem)parent.Tag);
            folderItem.Expand(this.ShowFiles, true, System.IntPtr.Zero);
            //
            TreeNodePath node = null;

            System.IO.DriveInfo driveInfo;
            //
            foreach (Raccoom.Win32.ShellItem childFolder in folderItem.SubFolders)
            {
                if (!_showAllShellObjects && !childFolder.IsFileSystem)
                {
                    continue;
                }
                //
                if (DriveTypes != DriveTypes.All && childFolder.IsDisk)
                {
                    driveInfo = new System.IO.DriveInfo(childFolder.Path);
                    //
                    switch (driveInfo.DriveType)
                    {
                    case System.IO.DriveType.CDRom:
                        if ((DriveTypes & DriveTypes.CompactDisc) == 0)
                        {
                            continue;
                        }
                        break;

                    case System.IO.DriveType.Fixed:
                        if ((DriveTypes & DriveTypes.LocalDisk) == 0)
                        {
                            continue;
                        }
                        break;

                    case System.IO.DriveType.Network:
                        if ((DriveTypes & DriveTypes.NetworkDrive) == 0)
                        {
                            continue;
                        }
                        break;

                    case System.IO.DriveType.NoRootDirectory:
                        if ((DriveTypes & DriveTypes.NoRootDirectory) == 0)
                        {
                            continue;
                        }
                        break;

                    case System.IO.DriveType.Ram:
                        if ((DriveTypes & DriveTypes.RAMDisk) == 0)
                        {
                            continue;
                        }
                        break;

                    case System.IO.DriveType.Removable:
                        if ((DriveTypes & DriveTypes.RemovableDisk) == 0)
                        {
                            continue;
                        }
                        break;

                    case System.IO.DriveType.Unknown:
                        if ((DriveTypes & DriveTypes.NoRootDirectory) == 0)
                        {
                            continue;
                        }
                        break;
                    }
                }
                //
                node = CreateTreeNode(null, parent, childFolder);
            }
            if (!ShowFiles)
            {
                return;
            }
            //
            foreach (Raccoom.Win32.ShellItem fileItem in folderItem.SubFiles)
            {
                node = CreateTreeNode(null, parent, fileItem);
            }
        }
コード例 #2
0
 public override void RequestChildNodes(TreeNodePath parent, System.Windows.Forms.TreeViewCancelEventArgs e)
 {
     RequestHelper(Helper, parent, parent.Nodes);
 }
コード例 #3
0
ファイル: TreeView.cs プロジェクト: akinomyoga/ImageArrange
 protected override void OnBeforeSelect(System.Windows.Forms.TreeViewCancelEventArgs e)
 {
     this.UpdateToDocument();
     base.OnBeforeSelect(e);
 }
コード例 #4
0
 /// <summary>
 /// Fill the Directory structure for a given path.
 /// </summary>
 /// <param name="parent">The expanding node.</param>
 /// <param name="e">EventArgs that let you cancel the node expanding.</param>
 public virtual void RequestChildNodes(TreeNodePath parent, System.Windows.Forms.TreeViewCancelEventArgs e)
 {
 }
コード例 #5
0
 private void obj_TreeViewCancel(System.Object sender, System.Windows.Forms.TreeViewCancelEventArgs e)
 {
     this.OnChanged(sender);
 }
コード例 #6
0
 private void CmdListTree_BeforeSelect(object sender, System.Windows.Forms.TreeViewCancelEventArgs e)
 {
     throw new System.NotImplementedException();
 }