Ejemplo n.º 1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="ShellTreeView" /> class.
        /// </summary>
        public ShellTreeView()
        {
            _mTreeView = new TreeView
            {
                Dock          = DockStyle.Fill,
                HideSelection = false,
                HotTracking   = true,
                Parent        = this,
                ShowRootLines = false
            };
            _mTreeView.AfterSelect  += m_TreeView_AfterSelect;
            _mTreeView.BeforeExpand += m_TreeView_BeforeExpand;
            _mTreeView.ItemDrag     += m_TreeView_ItemDrag;
            _mTreeView.MouseDown    += m_TreeView_MouseDown;
            _mTreeView.MouseUp      += m_TreeView_MouseUp;
            _mScrollTimer.Interval   = 250;
            _mScrollTimer.Tick      += m_ScrollTimer_Tick;
            Size = new Size(120, 100);
            SystemImageList.UseSystemImageList(_mTreeView);

            _mShellListener.DriveAdded     += m_ShellListener_ItemUpdated;
            _mShellListener.DriveRemoved   += m_ShellListener_ItemUpdated;
            _mShellListener.FolderCreated  += m_ShellListener_ItemUpdated;
            _mShellListener.FolderDeleted  += m_ShellListener_ItemUpdated;
            _mShellListener.FolderRenamed  += m_ShellListener_ItemRenamed;
            _mShellListener.FolderUpdated  += m_ShellListener_ItemUpdated;
            _mShellListener.ItemCreated    += m_ShellListener_ItemUpdated;
            _mShellListener.ItemDeleted    += m_ShellListener_ItemUpdated;
            _mShellListener.ItemRenamed    += m_ShellListener_ItemRenamed;
            _mShellListener.ItemUpdated    += m_ShellListener_ItemUpdated;
            _mShellListener.SharingChanged += m_ShellListener_ItemUpdated;

            // Setting AllowDrop to true then false makes sure OleInitialize()
            // is called for the thread: it must be called before we can use
            // RegisterDragDrop. There is probably a neater way of doing this.
            _mTreeView.AllowDrop = true;
            _mTreeView.AllowDrop = false;

            CreateItems();
        }
Ejemplo n.º 2
0
        public ShellItemBrowseForm()
        {
            InitializeComponent();

            var manager = new KnownFolderManager();

            SystemImageList.UseSystemImageList(knownFolderList);
            foreach (var knownFolder in manager)
            {
                try
                {
                    var shellItem = knownFolder.CreateShellItem();
                    var item      = knownFolderList.Items.Add(knownFolder.Name,
                                                              shellItem.GetSystemImageListIndex(ShellIconType.LargeIcon, 0));

                    item.Tag = knownFolder;

                    if (item.Text == Resources.ShellItemBrowseForm_ShellItemBrowseForm_Personal)
                    {
                        item.Text  = Resources.ShellItemBrowseForm_ShellItemBrowseForm_Personal__My_Documents_;
                        item.Group = knownFolderList.Groups["common"];
                    }
                    else if ((item.Text == Resources.ShellItemBrowseForm_ShellItemBrowseForm_Desktop) ||
                             (item.Text == Resources.ShellItemBrowseForm_ShellItemBrowseForm_Downloads) ||
                             (item.Text == Resources.ShellItemBrowseForm_ShellItemBrowseForm_MyComputerFolder))
                    {
                        item.Group = knownFolderList.Groups["common"];
                    }
                    else
                    {
                        item.Group = knownFolderList.Groups["all"];
                    }
                }
                catch (Exception)
                {
                    // ignored
                }
            }
        }
Ejemplo n.º 3
0
        public ShellItemBrowseForm()
        {
            InitializeComponent();

            KnownFolderManager manager = new KnownFolderManager();

            SystemImageList.UseSystemImageList(knownFolderList);
            foreach (KnownFolder knownFolder in manager)
            {
                try
                {
                    ShellItem    shellItem = knownFolder.CreateShellItem();
                    ListViewItem item      = knownFolderList.Items.Add(knownFolder.Name,
                                                                       shellItem.GetSystemImageListIndex(ShellIconType.LargeIcon, 0));

                    item.Tag = knownFolder;

                    if (item.Text == "Personal")
                    {
                        item.Text  = "Personal (My Documents)";
                        item.Group = knownFolderList.Groups["common"];
                    }
                    else if ((item.Text == "Desktop") ||
                             (item.Text == "Downloads") ||
                             (item.Text == "MyComputerFolder"))
                    {
                        item.Group = knownFolderList.Groups["common"];
                    }
                    else
                    {
                        item.Group = knownFolderList.Groups["all"];
                    }
                }
                catch (Exception)
                {
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ShellTreeView"/> class.
        /// </summary>
        public ShellTreeView()
        {
            m_TreeView               = new TreeView();
            m_TreeView.Dock          = DockStyle.Fill;
            m_TreeView.HideSelection = false;
            m_TreeView.HotTracking   = true;
            m_TreeView.Parent        = this;
            m_TreeView.ShowRootLines = false;
            m_TreeView.AfterSelect  += new TreeViewEventHandler(m_TreeView_AfterSelect);
            m_TreeView.BeforeExpand += new TreeViewCancelEventHandler(m_TreeView_BeforeExpand);
            m_TreeView.ItemDrag     += new ItemDragEventHandler(m_TreeView_ItemDrag);
            m_TreeView.MouseDown    += new MouseEventHandler(m_TreeView_MouseDown);
            m_TreeView.MouseUp      += new MouseEventHandler(m_TreeView_MouseUp);
            m_ScrollTimer.Interval   = 250;
            m_ScrollTimer.Tick      += new EventHandler(m_ScrollTimer_Tick);
            Size = new Size(120, 100);
            SystemImageList.UseSystemImageList(m_TreeView);

            m_ShellListener.DriveAdded     += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.DriveRemoved   += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.FolderCreated  += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.FolderDeleted  += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.FolderRenamed  += new ShellItemChangeEventHandler(m_ShellListener_ItemRenamed);
            m_ShellListener.FolderUpdated  += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.ItemCreated    += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.ItemDeleted    += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.ItemRenamed    += new ShellItemChangeEventHandler(m_ShellListener_ItemRenamed);
            m_ShellListener.ItemUpdated    += new ShellItemEventHandler(m_ShellListener_ItemUpdated);
            m_ShellListener.SharingChanged += new ShellItemEventHandler(m_ShellListener_ItemUpdated);

            // Setting AllowDrop to true then false makes sure OleInitialize()
            // is called for the thread: it must be called before we can use
            // RegisterDragDrop. There is probably a neater way of doing this.
            m_TreeView.AllowDrop = true;
            m_TreeView.AllowDrop = false;

            CreateItems();
        }