What's new in ShellBrowser .Net Edition 7.0.0

Oct 17, 2023
  • Setup:
  • The component for managing the installation key has been renewed. Therefore, all customers need new installation keys for V7, which are available through our customer area.
  • ShellControlConnector: You can now restrict folder access for all controls linked with a ShellControlConnector instance using the new "FolderChanging" event. The event is called before the path is changed for any of the controls linked with the ShellControlConnector instance and setting the "e.Cancel" parameter will abort the path change.
  • ShellBrowser, ShellListView, ShellTreeView: Using the new “ReadOnly” property, the components now don’t allow the folder contents to be changed., i.e., no items can be added, removed or renamed. This affects keyboard commands, the context menu and Drag-and-Drop.
  • ShellAddressBar: The new "ReadOnly" property now prevents entering a path in the edit view of the AddressBar.
  • ShellListView: Introduced a new “LoadItem” event. It is called in Details and Tile View, when the subitems of an item have been loaded.
  • ShellBrowser, ShellListView, ShellTreeView: Images assigned in a ContextMenuStrip are now displayed at runtime, when this menu is used as custom context menu that is being added to the shell’s item context menu. In prior versions, these images were missing.
  • ShellListView, ShellTreeView: There is a new “ShellContextMenuCommand.GoUp”, that is reported in the BeforeShellCommand event when the user goes to the parent folder.
  • FileList, ShellListView: The size of icons in within view "Tile" has been increased to conform with Windows Explorer.
  • ShellListView: When the ShellListView cannot show a folder because it either doesn’t exist or access rights are missing, it will now call the new “NavigationFailed” event for custom actions to take in this case.
  • ShellTreeView: Using the “CompactRoots” property, you can now control whether extra space will be added between root nodes or not.
  • Bugs:
  • ItemIDList, SearchEdit, ShellHistoryToolBar: Going to the parent folder when the ShellList displays search results via the ShellHistoryToolBar or by pressing Alt+Up or Backspace, now displays the search scope, where the current search has been started, not the Desktop folder.
  • ShellListView, ShellTreeView: A problem concerning duplicated entries of elements beneath Desktop that appeared in Windows 11 22H2 has been fixed.
  • ShellHistoryToolBar: A painting issue of the parent directory button has been fixed.
  • SearchEdit: The search could possibly return too many, seemingly unexpected results. This has been corrected.
  • ShellAddressBar: An UnauthorizedAccessException that might have occurred when clicking into the AddressBar is now prevented.
  • ShellListView: Files containing a "." in their filename were not renamed correctly when file extensions were hidden from the view as the suffix was misinterpreted as file extension. This has been corrected.
  • ShellListView: The error message the ShellListView displays when trying to navigate to a non-existing folder has been corrected. Note, that the “ShowErrorMessages” property of the ShellListView needs to be set to true for the error message to be displayed.
  • FileList: A bug, where a path separator might have been missing in the "File" parameter of the “SearchFileMatches” event, has been fixed.

New in ShellBrowser .Net Edition 6.3.1 (Mar 8, 2022)

  • Improvements:
  • ThumbnailImage: It is now possible to pass non-file-system paths to the "Path" property (e.g. "This PCMy PhoneSD-CardImagespicture.jpg"). Also, an "ItemIdList" property has been added, which can be used interchangeably.
  • ShellListView: Instead of always defaulting to "System", the “RenderMode” property of the ShellListView's BackgroundContextMenu can now be configured via property "BackgroundContextMenuRenderMode".  Also, the size of icons in the background context menu have been fixed and the menu is now scaled correctly in per monitor dpi settings.
  • ShellListView, FileList, ShellTreeView: The "ShowOptionChanged" event now provides the property that was changed as string in the passed event arguments. The signature of the event is now "EventHandler<PropertyChangedEventArgs>". Note, that this is a breaking change if you have implemented the event before.
  • ShellChangeNotifier: Some Windows notifications are sent more than once. To avoid problems in notification handlers, double notifications of the following types are now filtered: NotificationEvents.NetShare, NotificationEvents.NetUnshare, NotificationEvents.DriveRemove, NotificationEvents.DriveAdd, NotificationEvents.MediaInsert, NotificationEvents.MediaRemove, NotificationEvents.FileDelete.
  • Bugfixes:
  • ShellAddressBar: The synchronization of the current folder in the ShellAddressBar has been fixed. It will again display the folder that was opened in a different control sharing the same ShellControlConnector.
  • Setup: To avoid conflicts between the demo and the full version, the demo version now has an odd build number, smaller than the build number of the full version.
  • ShellListView: The long delays that could be observed, when opening a folder containing SolidWorks files, have been fixed. 
  • General: AlphaFS support was removed for .NET Core versions.
  • ShellTreeView: The Quick Access root node is not added automatically if Quick Access is hidden in Windows Explorer via the respective registry setting (HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerHubMode).
  • ShellTreeView: When showing files in the ShellTree, the Desktop node contained two nodes for control panel.  This has been corrected to show one node only.
  • ShellTreeView: Changing the "ItemHeight" property via the property grid in Visual Studio Designer is not applied automatically when starting the project, because it is controlled by properties such as “Font” and “UseSystemFont”, and the OS that runs the application. Unfortunately, fixing this had some side effects, so the property now does not appear in the Property Grid anymore. If you want to change the value, you can do so in the Form's Load EventHandler, for example.
  • ShellListView: New folders or files that are created by the user via the context menu, are now added to the ShellListView temporarily, even if they do not match the current filter settings (i.e. creating a folder in a list that does not show folders), so that the user can rename the new element. It will disappear if the new name does not meet the filter criteria.
  • ExplorerBrowser: Filtering options have been corrected: zip files were handled like folders, and consequently hidden, if "ContentFilter.ShowFolders" was set to false. Now it depends on the "ContentFilter.FileSystemOnly" setting: if it is true, zip files are handled like files.
  • ShellListView, ShellTreeView: It is now possible to remove file extensions when renaming file in the ShellListView or ShellTreeView. Former versions have automatically re-added the former extension.
  • ShellListView, ThumbnailImage: The loading of thumbnails on an attached mobile phone has been fixed.
  • PathEdit: Fixed an ArgumentException that might have occurred when displaying the File Open Dialog.
  • ExplorerBrowser: A flickering issue in ExplorerBrowser has been fixed.
  • ExplorerBrowser: The "View" property is now correctly applied from the setting you specified, even if the ExplorerBrowser component is not visible at program start. In prior versions, setting the view has been ignored before the handle of the ExplorerBrowser was available.
  • ExplorerBrowser: The "Load" event is now called, as soon as the ExplorerBrowser has been created.
  • ShellChangeNotifier: Instead of reporting it as a "NetShare" event, the notification handler now reports the unsharing of a folder correctly as "NotificationEvents.NetUnshare".
  • ShellBrowser, ShellTreeView: A potential error in ShellBrowser.HasFileExtension is now prevented.
  • SystemImageList: An unhandled ArgumentException in the context of icon retrieval is now prevented.

New in ShellBrowser .Net Edition 6.2 (Aug 7, 2020)

  • New Features and Improvements:
  • General: The components now support high DPI per monitor scenarios.
  • Besides the project configuration as described here, your project needs to target the .NET Framework 4.8. Check the "JamExplorer" and "ExplorerBrowser" example projects that have the necessary per Monitor v2 settings.
  • This required a full refactoring of the SystemImageList affecting the viewstyles and image lists of the ShellListView, FileList, DriveList and ShellTree.
  • It is now possible to use custom icons or thumbnails in the ShellListView, FileList and ShellTreeView. Check the new "Customization" example project for details.
  • ShellListView, ShellTreeView:
  • Using the new "FileNameFormat" property you can control, whether the ShellListView or ShellTreeView displays file extensions or not. The default value is "Auto", which keeps the former behavior and uses the respective Windows Explorer setting.
  • The new "CheckBoxMode" property was added. The values "CheckBoxMode.Off" and "CheckBoxMode.Synchronized" work exactly like the boolean "CheckBoxes" property. The additional "CheckBoxMode.Simple" allows to use CheckBoxes without attached ShellControlConnector. The check states of the elements are not applied automatically; neither to other controls, nor to parent or children of a checked element.
  • ShellListView:
  • The thumbnail view now supports overlay icons like the shortcut arrows.
  • ShellListView, FileList:
  • To avoid delays that might occur when folder thumbnails are retrieved, a new property "FastFolderThumbnails" was introduced. If set to true (default), folder thumbnails previewing the contents of the folder are only displayed, if they can be retrieved from the cache. Else, a plain folder icon is preferred.
  • ShellAddressBar:
  • The ShellAddressBar now has a property "UseSystemFont", that controls if the "IconTitleFont" will be applied automatically.
  • Property "RootedAtFileSystemFolder" has been added that allows to set a file system path as root of the ShellAddressBar. It's also possible to set the root to a special folder via the "RootedAt" property. This implies a breaking type change in the "ShellBreadCrumbBar.RootedAt" property, which was changed from "ShellFolder" to "ItemIdList".
  • The new "BeforePathChange" event has been introduced. It can be used to intercept path changes and cancel the navigation in process.
  • A background color of the ShellAddressBar is now also applied to the visible editing component when typing a path. Also, the editing field is now highlighted by a border.
  • The caption of a search folder as it appears in the ShellAddressBar has been fixed to show up the same way as in Windows Explorer.
  • ExplorerBrowser:
  • Calling the "SmartRefresh" method or changing a filter property now only triggers a smooth lightweight update of the ShellView, instead of reloading the ExplorerBrowser component.
  • ExplorerBrowser, ItemIDList, SearchEdit:
  • To retrieve the "search scope" of a search results view in either ShellListView or ExplorerBrowser, use the ItemIdList.GetPropertyDisplayValue using SHCOLUMNID.SearchFolder as property.
  • ShellChangeNotifier:
  • While it is still possible to use the "Directories" property to register for change notifications in different places, there is now another option using the new methods "AddItemIdList" and "RemoveItemIdList". This allows to add locations that don't have a physical path.
  • Bugfixes:
  • The "Quick Access" node is now automatically updated correctly when an item is added or removed in Windows File Explorer.
  • The ShellTree now registers all its root nodes for shell notifications individually. This fixes some problems concerning the automatic update of nodes due to changes in the file system.
  • When confirmations of deletion are activated in Windows Explorer, a folder might have been removed from the ShellTree, even if the user deselected the deletion in the confirmation dialog. This is not happening anymore.
  • Now zip archives are recognized using attributes instead of checking the extension. Consequently, if "FileSystemOnly" is set, this avoids the error, that a normal folder named "Folder.zip" is mistakenly removed from the view too.
  • ShellListView, ShellTreeView:
  • The "BeforeShellCommand" event was only called for rename operations if the renaming was started via the context menu or by pressing "F2". Now it is also called, when the label of an item or a node is put to edit-mode by using a mouse click.
  • ShellListView:
  • If an element from a search result is deleted, it is removed from the search result too.
  • The "Paste" menu item of the background context menu is now correctly enabled if an Outlook attachment was copied to the clipboard.
  • Setting either "ShowRecycleBin" or "ShowNethood" to false, caused huge delays when loading large folders. This has been fixed.
  • FileList, ShellListView:
  • The "MouseUp" event is now called.
  • ExplorerBrowser
  • The context menu is now also displayed for the inline edit box that appears when elements are being renamed.
  • The "View" property is now returning correct values even if the view has been changed via the command pane.
  • Setting the “VisiblePanes” property to "Auto", the AddressBar will now be included too.
  • ExplorerBrowser, ShellAddressBar:
  • Using the new "AddressBar" property, you can now access the ShellAddressBar that is included in ExplorerBrowser. The property is runtime only, i.e. it's not possible to control properties of the ShellAddressBar at design time.
  • Breaking and noteworthy changes:
  • Method ShellControlConnector.GetHistoryEnumerable was removed. Use property ShellControlConnector.HistoryItems instead.
  • Introduced "Jam.Shell.Core.ShellBrowserException". In the Debug ShellBrowser dlls, more errors and failed API calls are rethrown as ShellBrowserException.
  • ItemIdList is not implementing IDisposible anymore.
  • ShellListView, FileList: The "HeaderRightClick" event is now a standard EventHandler (with EventArgs parameter).
  • Obsolete functions that have been removed:
  • JamBaseShellListView.IsDropTarget --> use property ShellDragDrop instead.
  • ShellBrowser.GetDefaultSortColumn
  • The ShellBrowser properties FileExtensionHidden, ShellShowFavorites, ShellShowAllFolders, ShellShowLibraries, ShellExpandToCurrentFolder and ShellListView.ExtensionsHidden can now be found in class ExplorerSettings.
  • FileList.InvokeContextMenuCommand --> use InvokeCommandOnSelected instead.
  • Jam.Shell.FILE_ATTRIBUTES --> use System,IO.FileAttributes instead.

New in ShellBrowser .Net Edition 6.1 (May 6, 2019)

  • New features and improvements:
  • ShellAddressBar: There is a new component "ShellAddressBar". It resembles the address bar known from Windows Explorer, containing a section that splits the current path into "BreadCrumbs" and allows easy navigation in the file system. Additionally it optionally contains a history and a search edit box. These panes can be turned on or off using the "VisiblePanes" property.
  • The new "HistoryToolBar" that is included in the "ShellAddressBar" can also be used standalone.
  • In addition, ExplorerBrowser now uses the ShellAddressBar instead of a ShellComboBox.
  • Examples: A further sample project in the style of a classic "commander" file manager with 2 columns has been added.
  • ShellListView: Standard .NET Drag/Drop events are now called, even if the "ShellDragDrop" property is true. However, it is not yet possible to set the "Effect" parameter via the event arguments. This is only possible using the "CopyMode" property of the control.
  • ShellBrowser: The "Desktop" node in the ShellTree now has a context menu too.
  • ShellFilePreview: Depending on the PreviewHandler, it is now possible to view files that do not have a physical path (e.g. files on an attached mobile phone). This now typically works for pdf and text files, and images.
  • ShellListView, FileList, and ShellTreeView: Implemented the "ItemChecked" event for the ShellListView and FileList and the "NodeChecked" event for the ShellTreeView. They indicate the checking or unchecking of an element. In contrast to the "CheckStateChanged" the event is not called when a checkstate is applied indirectly or automatically applied by ShellBrowser.
  • ShellListView, FileList: Date/Time columns now display values without seconds.
  • ShellFilePreview: When the preview is synchronized via ShellControlConnector, it is now loaded after a small delay. This avoids the unnecessary loading of files that are only selected very shortly and also loading the preview doesn't interfere with message handling, so that double-clicks are not disrupted and not recognized anymore.
  • Bugfixes:
  • PathEdit: The "Browse" button is working again.
  • ShellListView: Drag-and-Drop of files from an attached mobile phone to a ShellList now works as expected in 32-bit applications.
  • ShellListView: Breaking change: Removed the obsolete "Details" property.
  • ShellListView: Folders are not affected by a set filter. In the last version, they were accidentally filtered too.
  • ShellListView: Instead of remaining empty, the ShellList now displays the contents of a folder even if it is disabled.
  • ShellListView: Fixed a problem that wrong or too small columns were displayed after browsing a folder on an attached mobile phone.
  • ShellListView: The "New" menu item in the background context menu is now disabled in zip folders.
  • ShellListView: Under certain circumstances, the automatic refresh of the ShellList stopped working after an edit operation was cancelled via code. This has been fixed.
  • ShellListView: Fixed the issue that thumbnails might be empty for files that are copied to the directory that is currently displayed in the ShellList.
  • ShellListView: Now handling exceptions that might have occurred if asynchronous tasks return to an already disposed or currently disposing control.
  • ShellListView: Fixed a sorting problem when pasting files into a folder - instead of respecting the sort order, the files were alphabetically sorted between the subfolders in the same parent folder.
  • ShellListView, ShellTreeView: It is now possible to temporarily hide custom context menu entries that are assigned to the "ContextMenuStrip" property of a ShellListView or ShellTreeView, by setting the "Visible" property of the menu items to "false" in the "Opening" event handler of the ContextMenuStrip. The setting was ignored in the last version.
  • ShellTreeView: The "Favorites" folder in Windows 7 is filled again instead of appearing empty.
  • ShellTreeView: When selecting a path, the ShellTree now fully expands all relevant nodes, instead of just inserting nodes for this path only. The problem that sometimes the destination node appeared twice in the ShellTree was fixed.
  • ShellTreeView: If a node beneath "Quick Access" is selected, controls connected via the same ShellControlConnector instance will now display the link target of the selected node, instead of remaining in the Quick Access scope. The ShellTree keeps the selection in Quick Access if the "Expand to current folder" setting is false in Windows Explorer.
  • ShellTreeView: The "NoFillOnStartup" property has been fixed to work with multiple roots. If set, the roots of the ShellTree will not automatically be expanded when the program starts. If this avoids automatically expanding a slow folder, this can improve performance.
  • ShellTreeView: Fixed a flickering problem that was caused by the asynchronous loading of the network node when navigating to a network path while the network node was still collapsed.
  • ExplorerBrowser: The "ThumbnailSize" property is now only applied if view mode is "Thumbnail".
  • ExplorerBrowser: Execution of the "DefaultAction" (i.e. the action that takes place on double-click) can now again be intercepted in the "DefaultAction" event by setting "e.InvocationProcessed" to true.
  • ExplorerBrowser: Fixed bug when trying to access items in "C:Users<user>AppDataLocalMicrosoftWindowsHistory".
  • ExplorerBrowser: Dropped support for CheckMode.Checkboxes as it is incompatible with Windows 10 Dark Mode (use CheckMode.AutoSelect instead).
  • ExplorerBrowser: The "SelectionChanged" event is now fired only once, when a different element is selected.
  • ShellSearchEdit: The text hint is now updated if the folder that defines the search scope is renamed.
  • ShellFilePreview: The Excel PreviewHandler is now released correctly, if the previews of two or more Excel files are unloaded "at the same time" (i.e. at program end), instead of not being able to shut down the Excel process or eventually causing an error in Excel.
  • Also, we tried resolving exceptions that appeared to occasionally occur when the preview component is disposed.
  • Many minor improvements and fixes have been incorporated.

New in ShellBrowser .Net Edition 6.0 (Jul 17, 2018)

  • Windows XP is not supported anymore. This allows us to rely on some APIs that were not yet available on XP.
  • The "ShellBrowser.dll" has been split into a "ShellBrowser.dll" and "ShellBrowser.Core.dll". This change was necessary due to the WPF Edition of ShellBrowser. This is a breaking change. When upgrading projects you need to add a reference to "ShellBrowser.Core.dll" manually:
  • In the project references select "Add Reference". In the "Reference Manager" select "Browse" and select "ShellBrowser.Core.dll" from the installation directory.
  • The ShellBrowser.Core.dll contains all base-classes that are used by ShellBrowser components. It is also possible to use this new assembly standalone, e.g. in Console projects (see the new "CoreSample" project included).
  • ShellBrowser.NET is now targeting .NET Framework 4.0.
  • Visual Studio 2010 and higher required.
  • "ShellBrowser Components .NET Edition" has been shortened to "ShellBrowser.NET Components".
  • Also due to the WPF Edition, some major refactoring took place. We tried to be very careful and not to induce major compatibility issues. Please don't hesitate to contact us if you experience issues when updating to V6.0 despite our efforts.
  • The ShellSystemList is now deprecated. We have removed all usages from sample projects.
  • Please use the "ExplorerBrowser" control as replacement. We have also added a new sample project for ExplorerBrowser.
  • ShellSearchEdit:
  • The new component ShellSearchEdit contains the search edit field of Windows Explorer. It supports a "ShellControlConnector" and can be connected to the ShellList or ExplorerBrowser to define the scope and present the result of the search. For ExplorerBrowser it can be activated in the "VisiblePanes" property.
  • ControlPanelTaskDialog:
  • The new "ControlPanelTaskDialog" can be used to show specific control subelements. Examples on how to use it can be found in the "JamExplorer" example project.
  • There is also a new SpecialFolder "ShellFolder.AllTasks" that can be assigned to a ShellList and displays the available tasks.
  • ShellChangeNotifier:
  • The usage of "AutomaticRefresh" in the controls that support it has been optimized to avoid re-registering the watched paths on initialization.
  • Bugfix: A NullReferenceException that might have occurred in "ShellNotifyRegister" is now prevented.
  • ShellComboBox:
  • When using the new property "AutomaticRefresh" the control is automatically refreshed if a drive is added or removed.
  • The problem that the control was updated several times initially has been fixed.
  • The order of entries now matches the Windows version the ShellComboBox is running on.
  • Visual enhancements: the item height is increased. The quality of icons in the drop-down-list is better.
  • An "InvalidOperationException" occurring on Windows PE has been fixed.
  • DriveList:
  • Paths that have been added to the DriveList via the "Add" method now remain in the list when a refresh takes place, e.g. by pressing F5.
  • Items in the DriveList are resolved asynchronously to avoid delays for non-existing paths or non-reachable net-drives.
  • Change notifications from the Shell are handled more accurately. If a CD is inserted into the cdrom drive, it appears automatically in the list.
  • The DriveList now has a visual representation at design-time.
  • ShellListView:
  • The columns of a ShellList in details-mode and tooltips are now filled asynchronously to avoid delays for non-reachable elements.
  • The "BeforeInvokeCommandOnSelected" event is obsolete. Please use "BeforeShellCommand" instead.
  • The "BeforeShellCommand" should now be reliably called no matter what started a context menu operation (e.g. a key or selection from the context menu). Instead of a "string", the "e.Command" parameter is now internally represented by the "ShellCommand" class. However implicit conversions prevent breaking changes. The "Caption" property of "ShellCommand" holds the localized caption of the context menu item that was chosen.
  • Like in Windows Explorer, when an item is renamed, only the filename (without extension) will be highlighted.
  • Folders that can cause delays when being accessed (i.e. the network folder or the root of net-drives) are now filled asynchronously.
  • Some issues concerning display and sorting of the "QuickAccess" special folder have been fixed.
  • Bugfix: A custom background context menu is now displayed no matter if the "ShellContextMenu" property is true or false.
  • Bugfix: A NullReferenceException when navigating to the windows history folder doesn't occur anymore.
  • Bugfix: An application hang that might have occurred when using certain ActiveX controls (like e.g. Office Viewer) and ShellBrowser controls in the same project has been fixed.
  • FileList:
  • The FileList now supports deleting files from multiple drives.
  • ExplorerBrowser:
  • The "MouseDown" and "MouseUp" events are now available and working.
  • The Drag-and-Drop events "DragEnter", "DragOver" and "Drop" are now available and can be used to modify the automatic shell drag-and-drop.
  • Like in Windows Explorer, the different icon sizes and viewstates can now be adjusted using Ctrl and the mouse-wheel.
  • The sort columns and sort direction can now be controlled by code using "ExplorerBrowser.Columns.SortBy" and "ExplorerBrowser.Columns.SortDirection".
  • The grouping feature is now accessible by code. Use "ExplorerBrowser.GroupBy" and "ExplorerBrowser.GroupDirection" to group items.
  • Using the new methods "ExplorerBrowser.Columns.AutoSize()" and "ExplorerBrowser.Columns.DefaultSize()" the columns of an ExplorerBrowser instance can be adjusted automatically.
  • The property "ExplorerBrowser.ContentFilter.ShowHidden" now works as expected independently of the current Windows Explorer settings.
  • A "NavigationPending" event has been added, that allows canceling the current navigation process.
  • ExplorerBrowser now has a visual representation at design-time.
  • ShellTreeView:
  • Some issues concerning display and sorting of the "QuickAccess" special folder have been fixed.
  • The "BeforeInvokeCommandOnSelected" event is obsolete; please use "BeforeShellCommand" instead.
  • The "BeforeShellCommand" should now be reliably called no matter what started a context menu operation (e.g. a key or selection from the context menu). Instead of a "string", the "e.Command" parameter is now internally represented by the "ShellCommand" class. However implicit conversions prevent breaking changes. The "Caption" property of "ShellCommand" holds the localized caption of the context menu item that was chosen.
  • The list of affected paths that is passed in the eventargs has been fixed.
  • Folders that can cause delays when being accessed (i.e. the network folder or the root of net-drives) are now filled asynchronously.
  • The handling of shell notifications has been improved.
  • Bugfix: The flickering of the ShellTree that occurred with Windows 10/1709 has been fixed.
  • Bugfix: There is no exception anymore when right clicking on the empty space between two root nodes.
  • Bugfix: A custom filter that might be implemented using the "AddTreeNode" event is reapplied when the ShellTree is refreshed (e.g. by pressing F5).
  • Bugfix: The ShellTree is now refreshed correctly if a CD in the CD-drive is added or removed.
  • PathEdit:
  • The event "BeforeShowDialog" can be used to cancel or replace the default dialog that is displayed when the PathEdit's button is clicked.
  • We also fixed layout issues concerning high-dpi and font resizing.
  • ShellFilePreview:
  • Breaking change:
  • The "IShellPreviewHandler.Load" method has a changed the signature: bool Load(ShellFilePreview p_Parent, string p_Path, ItemIdList p_AbsolutePidl) has been changed to bool Load(ICommonPreviewHandlerHost p_Parent, string p_Path, ItemIdList p_AbsolutePidl) You might have implemented the interface if you use custom preview handlers. See the JamExplorer example project for an example of usage.
  • The state messages of the component can be customized using the three new properties "NoPreviewAvailableMessage", "PreviewNotPossibleMessage", and "SelectFileMessage".
  • Bugfixes: Word previews are now positioned correctly - before they might have been "displaced". A possible NullReferenceException that might have occurred on showing a preview is now prevented.
  • ThumbnailImage:
  • The performance especially when resizing the control has been improved.
  • On Windows PE the component will show at least icons (thumbnails are not available there).

New in ShellBrowser .Net Edition 5.4.0 (Dec 15, 2016)

  • ShellTreeView: Using the new "MultipleRoots" property, the ShellTreeView can now display more than one root. By default, it will display the same roots as Windows Explorer (including Quick Access on Windows 10). The roots can be modified programmatically. ShellTreeView.ClearRoots() will remove all existing root nodes, use ShellTreeView.AddRoot to add a new root node for a SpecialFolder or a file system path.
  • ExplorerBrowser: Using the new "CheckMode" property the type of checkbox handling can now be configured: CheckMode.Checkboxes displays checkboxes, CheckMode.AutoSelect controls the selection via the checkboxes, CheckMode.None doesn't display any checkboxes. CheckMode.AutoSelect is equivalent to the former "AutoCheckSelect" property.
  • ShellTreeView: Tree nodes are now loaded only when they come into view, flickering when loading the ShellTree is reduced. The performance of opening TreeNodes with many subnodes has been improved. The "ChangeDelay" is now working as expected. It allows setting a delay before the ShellTreeView will inform controls sharing the same ShellControlConnector of a folder change.
  • The ShellControlConnector component can now be used to connect a FileList with e.g. a ShellFilePreview or a ThumbnailImage, so that the file selected in the FileList is automatically displayed in the connected control.
  • FileList: Performance issues concerning the search have been resolved, sorting of the list has been improved. The performance when adding many files at once has been improved as well. The "FileListItem.FileCount", "FileListItem.FileSize", "FileList.TotalFileCount", and "FileList.TotalFileSize" are no longer working recursively. Therefore "FileListItem.FileCount" is obsolete.
  • FileList: The "SelectedFiles" property now contains complete file paths instead of filenames only.
  • ShellListView, FileList: The performance of thumbnail image retrieval from the system in the view state "Thumbnails" has been improved. The performance when sorting large lists and when restoring the selection after changing the view state has been improved.
  • ShellListView, FileList ViewState.LargerIcons and ViewState.ExtraLargeIcons will now show 48x48 icons on Windows XP. Menu items in the "View" submenu of the background context menu have been renamed slightly to better fit all Windows versions.
  • ShellListView, ShellTreeView: Using the new "ShellDragDrop" property it is now possible to turn off the automatic handling of drag-and-drop events in the ShellBrowser components. Disabling the property enables you to implement your own drag-and-drop handling.
  • ShellComboBox: UNC paths will now be displayed as physical paths when edited (i.e. "\servertemp" will now switch back to "\servertemp" instead of "temp" when editing the contents of the ShellComboBox). Generally, the ShellComboBox now displays the whole path as soon as the path is edited. Thus the "ShowFullPath" property only influences the display when the path is not being edited. When leaving the ShellComboBox without confirming a newly typed path by pressing Enter, the ShellComboBox will now re-display the path that is currently active.
  • PathEdit: The dialog displayed in "FolderMode" is now the file dialog known from Windows Vista and higher by default, but the simple directory box can still be reactivated. Although not part of the toolbox, the new "BrowseForFolder" dialog class can be used standalone in place of .NET's "FolderBrowserDialog".
  • ShellTreeView - Bugfix: A potential InvalidCastException occurring that might have occurred during drag-and-drop operations has been fixed.
  • FileList - Bugfix: The "SelectedFiles" property is now refreshed properly when the selection in the FileList changes.
  • ShellListView - Bugfix: Creating new files via the background context menu now results in one single file, even if there is more than one ShellListView in the same project.
  • ShellListView - Bugfix: After displaying a new shell column, the contents of custom columns weren't displayed for items that had not already been loaded. This has been fixed.
  • ShellListView - Bugfix: Restoring the view settings that are tracked per special folder (i.e. displayed columns, column widths, and sort order) did not work properly for some special folders. This issue has been fixed.
  • ShellListView - Bugfix: Setting a filter in the ShellListView cleared the contents of the "Favorites" folder. Now the entries are correctly handled as links instead of files and are displayed regardless of the set filter.
  • Bugfix WPF: File previews are correctly unloaded at program end. A "TypeInitializationException" that might have occurred at program end if ShellBrowser components had not been displayed yet is now prevented.
  • ShellComboBox - Bugfix: A possible ArgumentNullException occurring during initialization of the ShellComboBox is now prevented.
  • The example projects are now using .NET framework version v4.0.
  • The API documentation has been improved.
  • A lot of internal refactoring, minor improvements, and fixes have been incorporated.

New in ShellBrowser .Net Edition 5.2.1 (Mar 13, 2015)

  • If you add AlphaFS to your project, ShellBrowser will use it instead of the System.IO namespace to support paths exceeding 260 characters. More information.
  • Bugfix - DriveList: Usage of custom columns is now enabled.
  • Bugfix - FileList: Sorting by folder path now works like in Windows Explorer.
  • Bugfix - FileList: Files can now be renamed.
  • Bugfix - Fixed a memory leak for ItemIdLists.
  • ShellComboBox: Special Folder names like "Desktop" or "Recycle Bin" are now supported as input.
  • ShellTreeView: Selecting a link to a folder will now open the destination folder.
  • Bugfix - ShellSystemList: Selecting "Open" for a folder in the context menu will now open the folder in the ShellSystemList.
  • Many minor improvements and fixes have been incorporated.

New in ShellBrowser .Net Edition 5.2.0 (Jan 12, 2015)

  • ShellFilePreview: PreviewHandlers are now loaded and unloaded asychronously so that slow performance of a PreviewHandler and/or file doesn't block your application.
  • ShellFilePreview: Using the new "CustomPreviewHandler" property in the "LoadPreview" event you can now display files that don't have an installed PreviewHandler. See "CustomPreviewHandler" example in the API documentation.
  • ShellBrowser: With the new method "SetThumbnailProvider" it is now possible to provide thumbnails for files that are not handled by the system.
  • ShellBrowser: The "FixFPU" method has been added to reset the FPU control register for .NET compatibility. It can be called if you experience ArithmeticExceptions after executing shell operations e.g. by invoking a shell context menu. The "FixFPU" method is also called internally in various functions prone to result in such errors.
  • ShellListView, FileList, DriveList: The "Items" and "SelectedItems" properties are now typed correctly, so there is no need to cast the generic ListItem type to the specific type (i.e. ShellListItem, FileListItem, DriveListItem). "((ShellListItem)shellListView.SelectedItems[0]).FullPath" simply becomes "shellListView.SelectedItems[0].FullPath".
  • ShellList, FileList, DriveList: It is now possible to use the "ListViewItemSorter" property to assign a custom sorting routine. See "Sort" example in the API documentation.
  • ShellSystemList: Properties "ShowHidden", "ShowNethood", "ShowRecycleBin", "ShowFiles", "ShowFolders", "FileSystemOnly" and "Filter" are not visible in the property editor anymore, they are accessible via the "ContentFilter" property now.
  • Bugfix - ShellFilePreview: The preview of MSG files using Outlook 2010 now works from 64bit applications.
  • Bugfix - FileList: The sort icon of a column is now restored after a FullRefresh.
  • Bugfix - ShellBrowser: The "OnContextMenuItemSelected" event is now raised reliably.
  • Bugfix - ShellCombobox: Icons are now drawn transparently enabling the use of the "BackgroundColor" property of the component.
  • Many minor improvements and fixes have been incorporated.

New in ShellBrowser .Net Edition 5.1.0 (Jun 17, 2014)

  • The new component "ExplorerBrowser" is now available. It provides a configurable Explorer pane as a managed .NET control and integrates seamlessly with other ShellBrowser components
  • Supports Visual Studio 2013 and Visual Studio Express 2013 for Windows Desktop
  • Installation now uses the "ToolBox Controls Installer" to add components to Visual Studio's ToolBox for VS Version 2008 or higher
  • ShellListView: ViewState "LargerIcons" is now supported
  • ShellListView/ShellTreeView: Some actions like fetching images or updating the state of checkboxes are now processed asynchronously
  • Bugfix - ShellFileList: Columns in the details view are no longer discarded when opening a file in the ShellFileList and adding more items afterwards
  • Bugfix - ShellListView, ShellTreeView: The property "LabelEdit" will now be saved correctly
  • Bugfix - ShellListView: "OperationPerformed" is now called for paste operations
  • Bugfix - ShellListView: Drag highlighting and AutoScroll behavior has been fixed
  • Bugfix - ShellListView, ShellFilePreview: When a file has changed, its details and thumbnail are now refreshed automatically
  • Bugfix - ShellTreeView: Trying to select a network folder without network places being part of the tree doesn't raise an error anymore
  • Bugfix - ShellFilePreview: The preview of PDF files using Acrobat now works from x86 applications running on Win8/64bit
  • Bugfix - ShellFilePreview: The preview of msg files using Outlook 32 bit now works from applications compiled as 64bit or AnyCPU
  • Many minor improvements and fixes have been incorporated

New in ShellBrowser .Net Edition 5.0.1.117 (Nov 23, 2013)

  • ThumbnailImage: With the new Property "IconsAsThumbnails" a user can choose whether a file icon shall be shown if no real thumbnail is available for a file
  • SystemShellList: The appearance of the control can be adjusted with the new properties "Transparent" and "TextColor".
  • Bugfix - ShellListView: Opening multiple files at once by pressing Enter now works correctly.
  • Bugfix - ShellListView: Exceptions occasionally occurring when opening a folder or showing the context menu have been fixed.
  • Bugfix - ShellListView: Background context menu is now shown when using the app key.
  • Bugfix - ShellListView: Using "ShowParentFolder" and "UseThreadPool" is again working as expected.
  • Bugfix - PathEdit: Opening the file dialog with an XLS file set no longer shows an initial warning.
  • Bugfix - ShellTreeView: Improved the navigation in the control panel. All items can now be opened via double click.
  • Bugfix - ShellTreeView: Renaming elements in the ShellTree under Windows 8 has been fixed.
  • Bugfix - JamFilePreview: MS Office PreviewHandlers are released correctly when the application is closed.
  • Bugfix: A potential memory leak due to the missing deregistration of the UserPreferenceChanged System Event in the change notification handler has been fixed.
  • Bugfix: Drag&Drop originating from Outlook is working now.
  • Some minor improvements and fixes have been incorporated.

New in ShellBrowser .Net Edition 5.0 (Oct 3, 2013)

  • ShellFilePreview: A new component adding the preview pane known from the Windows Explorer. It allows users to view file contents without opening the files.
  • ShellListView, ShellTreeView, FileList: Drag hints are now available.
  • ShellListView, FileList, DriveList: Added property AutoSizeColumn. The remaining horizontal space is added to the AutoSizeColumn's width.
  • ShellListView, ShellTreeView: Event BeforeInvokeCommandSelected now occurs before an item is renamed; renaming operations can now be cancelled.
  • ShellListView, FileList: Added new event BeforeShellColumnChanged that is fired when the user changes the visiblity of a column using the header context menu. It can be used to prevent the change.
  • ShellListView: It's now possible to use FTP addresses in the Path property.
  • ShellTreeView: Supporting custom ImageLists.
  • FileList: Added event AddItem that is fired when a new item is added to the list. It can be used to prevent adding a specific item.
  • FileList: SearchOptions are now configurable in the component's property grid.
  • ShellSystemList: Auto is now the default viewstyle. In this viewstyle, the Explorer chooses the viewstyle that fits the content of the displayed folder.
  • ShellSystemList: The event OnAddItem can be used to prevent adding a specific item to the list.
  • ShellControlConnector and all components implementing IShellControl: The methods FullRefresh() and SmartRefresh() have been merged to a single method Refresh() with a parameter for the refresh level (RefreshLevel.Full,
  • RefreshLevel.Smart, RefreshLevel.Checkboxes). This allowed us to improve display and updating of checkboxes.
  • Bugfix - ShellListView, FileList: Resizing hidden columns is not possible anymore.
  • Bugfix - ShellListView: Additional information in Tile view is visible again.
  • Bugfix - ShellListView: Modification date for folders is always the same as in Windows Explorer.
  • Bugfix - ShellListView: In Tile view the click area of the check boxes was refined.
  • Bugfix - ShellListView: The SortColumn attribute now also works for views other than Details.
  • Bugfix - ShellListView: The list doesn't scroll to the left anymore after sorting twice by the same column (reverse sort).
  • Bugfix - ShellListView: Sorting in libraries now works for all columns, not only the name column.
  • Bugfix - ShellListView: The sorting column is now preserved when navigating between different special folders.
  • Bugfix - ShellListView: The PathChanged event is now triggered when selecting a different folder in a connected control.
  • Bugfix - ShellListView: Icons and thumbnails for files on attached devices (such as mobile phones) are now available.
  • Bugfix - ShellTreeView: NoFillOnStartup now works.
  • Bugfix - ShellTreeView: Fixed issue that all folders were displayed as having subfolders.
  • Bugfix - ShellTreeView: Fixed exception that occurred when connecting net/USB drives if "Computer" was set as root of the tree.
  • Bugfix - ShellTreeView: ShellList is now refreshed when changing property ShellTreeView.RootedAt.
  • Bugfix - ShellTreeView: After renaming a node, its parent node is now resorted.
  • Bugfix - FileList: List is not sorted by default. Display and performance issues occuring after a search operation was completed have been resolved.
  • Bugfix - FileList: Property IgnoreCaseOptions in SearchOptions now works.
  • Bugfix - FileList: When deleting many files at once, the FileList is now refreshed correctly.
  • Bugfix - ShellSystemList: Context menu is now shown at the right position when using the application key.
  • Bugfix - ShellComboBox: ShellAutoComplete works again.
  • Bugfix - PathEdit: property DialogTitle is now applied to both OpenFile and OpenFolder dialog.
  • PathEdit, CustomEditComboBox: both contained nested enums ShellAutoComplete have been replaced by type Jam.Shell.ShellAutoComplete. (Breaking Change)
  • Many minor improvements and fixes have been incorporated.

New in ShellBrowser .Net Edition 4.3.1.84 (Jan 7, 2013)

  • ShellListView, ShellTreeView: Back and forward mouse buttons are now supported.
  • ShellListView: Repaint problems have been fixed.
  • ShellListView: The SelectedFiles property is now updated correctly.
  • ShellListView: The function CreateShortcut has been reviewed and fixed.
  • ShellListView: Column widths are now saved when changing the folder.
  • ShellListView: Drag&Drop has been optimized.
  • ShellTreeView: A beep sound is no longer played when specific keys are pressed (e.g. Ctrl+C).
  • FileList: TotalFileSize and TotalFileCount are updated on demand. If folders are counted (CountFolders property is True), the values are queried in the background and may take some time to be available.
  • DriveList: Local drives are now always shown on top of the list.
  • DriveList: The list is refreshed after an USB-Stick has been ejected.
  • ItemIdList: Now avoids exceptions in Path getter caused by 3rd party extensions.
  • ShellComboBox: The dropdown width is automatically adjusted to fit the content.
  • ShellHistoryToolStrip: Added default icons for the back and forward buttons.
  • ShellListView - Breaking Change: The method ClearColumns() was replaced by the method ResetColumns(). It resets the columns to the initial state.
  • Some minor improvements and fixes have been incorporated.

New in ShellBrowser .Net Edition 4.3.0.72 (Oct 24, 2012)

  • Supports Visual Studio 2012 and Windows 8.
  • ShellListView, ShellTreeView, FileList: Added Vista-Style Drag&Drop images.
  • ShellBrowser: Added Windows 7 Libraries and Known Folders to the list of SpecialFolders.
  • ShellListView, FileList: Reworked and optimized column handling.
  • ShellListView, FileList: Added property UseSlowInfoTips. If it`s set to false, much faster InfoTips are shown that e.g. don?t contain the size of a folder. The default value is false.
  • ShellListView, FileList, DriveList: NoFillOnStartup now works properly.
  • ShellListView, FileList: Added method IsEmpty() that should be used to check if the list is empty without filling it.
  • ShellListView, FileList: Added property ColumnOrder that returns an array with the current order of the columns.
  • ShellListView, FileList: Added method ClearColumns() that clears the current columns and the header context menu. Please use this instead of Columns.Clear().
  • ShellListView, ShellTreeView, FileList: Property ShowShellContextMenuOnTop is public now.
  • ShellListView, ShellTreeView: Enabled creation of folders in libraries.
  • ShellListView, ShellTreeView, ShellComboBox: Paths like "Computer\\MyPhone\DCIM" are accepted for mobile devices that don't have a file system path.
  • ShellSystemListView, FileList: Replaced properties View, Thumbnails and ExtraLargeIcons by property ViewState.
  • ShellBrowser. Added static function IsWindows8OrLater that returns True if the system is Windows 8 or later.
  • ShellBrowser: Added a copy constructor.
  • ShellBrowser: Added property FileExtensionsHidden that returns True if the file extensions of known files are hidden in Windows.
  • ShellBrowser: Added methods IsColumnAvailable(int) and IsCoumnAvailable(SHCOLUMNID) that return True if the Column is available for the selected SpecialFolder.
  • JamBaseShellListView: Moved more redundant events, event handlers and methods of ShellList, FileList and DriveList to the base class.
  • ShellListView: Zip-Files are now listed correctly between files, not between the folders.
  • ShellListView, ShellTreeView: Checkboxes enabled for Libraries.
  • ShellListView: Optimized Thumbnail images.
  • ShellListView: Removed flickering which occurred when resizing columns.
  • ShellListView: Consecutive Drag&Drop operations that change the item list now work properly.
  • ShellSystemListView: Added method CreateDir(string, bool) that creates a folder at the current location.
  • ShellSystemListView: Added key handling for Alt+Enter.
  • ShellSystemListView: Headers are only shown if the list is set to Details mode.
  • ShellSystemListView: Added Auto view mode where the content of the folder defines the view mode.
  • ShellSystemListView: IndexOf(string) now returns the correct index for recently added items.
  • ShellSystemListView: Added method SelectItem(index) that selects the item at the given index.
  • FileList: Added HeaderContextMenu.
  • FileList: The list items remain after changing the ViewState.
  • FileList: AutomaticRefresh now works properly.
  • FileList: Key handling has been enabled again.
  • FileList: Renaming a file does not double the file extension anymore if the Windows setting for ?Hide known file extensions? is set.
  • DriveList: Empty CD-ROM drives are now hidden.
  • ShellComboBox: Selecting network drives works again.
  • ThumbnailImage: Fixed problem with the alpha channel of graphics.
  • ThumbnailImage: Optimized display of tall and wide images.
  • ShellControlConnector: OnCheckStateChanged event is now triggered for connected controls too.
  • PathEdit: Added default values for DefaultExt, DialogTitle, FileFilter.
  • PathEdit: The component is CLS-compliant now.
  • PathEdit: Property AutoCompletionMode is public now.
  • WPF: WPF applications using the ShellBrowser components now terminate correctly.
  • Visual Studio Toolbox: Removed BackgroundContextMenu item.
  • Added the new example project CustomColumns demonstrating the correct handling of custom columns.
  • General: Added version property showing the current version of the ShellBrowser to all components.
  • SHCOLUMNID: Added more SHCOLUMNIDs.
  • SHCOLUMNID breaking change: Renamed ParentWorkId to ParentFolder.
  • ShellListView, FileList breaking change: Corrected method name of SetColumnVisibility(int, bool).
  • Many minor improvements and fixes have been incorporated.ffentlicht

New in ShellBrowser .Net Edition 4.2.1.45 (Nov 11, 2011)

  • new base class ShellListView, ShellFileList and ShellDriveList introduced to remove redundante code.
  • Shellcolumns of the ShellListView can now easily be hidden or added programmatically using the method SetColumnVisibility
  • ShellContextMenu can be hidden for ShellTreeView, ShellListView, ...

New in ShellBrowser .Net Edition 4.1.0.17 (Jan 14, 2011)

  • ShellFileList: Added key handling.
  • ShellFileList: If property CheckIfExists it true, items that do not exist anymore are removed during a FullRefresh().
  • ShellFileList: Added property ReadOnly. If true, operations that change the file system like delete or rename will not be executed.

New in ShellBrowser .Net Edition 4.0.7.13 (Jun 9, 2010)

  • ContextMenu-entry "send to" now works for Windows 7
  • Fixed bug in ShellTreeView that caused wrong sorting
  • Fixed bug in ShellList that prevented refresh on connected views after drag&drop
  • Fixed bug in ShellTreeView that lead to effectless setting of the AutomaticRefresh-attribute

New in ShellBrowser .Net Edition 4.0.3 (Oct 2, 2009)

  • Added a default background context menu to the ShellListView which among a few other things supports the paste from clipboard function.
  • New function ShellBrowser.MatchPattern to check if a filename passed as a string matches a particular pattern such as '*.txt'.

New in ShellBrowser .Net Edition 3.0.2 (Oct 30, 2007)

  • A ListView for managing files from different folders has been introduced, which also provides an integrated flexible search engine
  • The Components are now fully compatible to Windows 64 and support the Vista visuals
  • The ShellBrowser controls now support drag&drop with the Windows Explorer.