Click or drag to resize

Jam.Shell Namespace

This is the namespace for the JAM Software Shell Components mainly consisting of ShellBrowser, ShellTreeView, ShellListView, ShellSystemListView, ShellHistoryToolstrip and ShellComboBox. It is possible to easily connect these components by ShellControlConnector to make them work together fluently.
Classes
 ClassDescription
Public classAddBaseItemEventArgs Contains data for adding an item to the shell view.
Public classAddFileItemEventArgs The AddItemEventArgs contains data for the AddItem event.
Public classAddItemEventArgs The AddItemEventArgs contains data for the AddItem event.
Public classAddItemEventArgsBaseT Event arguments for adding an item to a control.
Public classAddSystemListItemEventArgs The AddSystemListItemEventArgs contains data for the AddItem event.
Public classAddTreeNodeEventArgs Provides data for the OnAddTreeNode(ShellTreeNode, ShellTreeNode) event.
Public classAfterLoadedPreviewEventArgsEventArgs for the ShellFilePreview.AfterPreviewLoaded event.
Public classBackgroundContextMenu This class provides most of the default background context menu functionality from the windows explorer.
Public classBaseSelectionList Base class for the PathSelectionList.
Public classBaseShellItem Base wrapper class for items in system list classes, like ExplorerBrowser.
Public classBasicWorkItem This class provides base functionality for a work item, only the abstract method HandleWorkItem has to be implemented to start things
Public classBeforeSearchCancelEventArgs EventArgs that can be used to control a search operation via the BeforeSearch event.
Public classBeforeShellColumnChangedCancelArgs Cancellable EventArgs for BeforeShellColumnChanged event. The event is cancellable by usage of inherited eventArgs.Cancel property.
Public classBeforeShellCommandEventArgs The BeforeShellCommandEventArgs contains data for the BeforeCommandExecute event. You can permit the execution of the shell command by registering to the event, then setting ExecuteShellCommand to false if necessary.
Public classBeforeShellDropEventArgs The BeforeShellDropEventArgs contains data for the BeforeShellDrop event. You can deny the execution of the shell command by registering to the event, then setting ExecuteShellDrop to false if necessary.
Public classBrowseForFolderA BrowseForFolder dialog that uses the Vista-style dialog by default instead of a simple directory tree.
Public classChangeNotificationEventArgs The ChangeNotificationEventArgs contains data for the ShellChangeNotifier.Change event.
Public classChangeNotificationPidlEventArgs The ChangeNotificationEventArgs contains data for the ShellChangeNotifier.ChangePIDL event.
Public classCheckStateChangedEventArgs The CheckStateChangedEventArgs contains data for the CheckStateChanged event.
Public classContextMenuItemSelectedEventArgs The ContextMenuItemSelectedEventArgs contains data for the ContextMenuItemSelected event.
Public classCustomDrawEventArgs Event arguments for OnCustomDraw(CustomDrawEventArgs).
Public classCustomEditComboBox This class provides an editable TextBox which may be extended, e.g. by the ShellApi, that is laid over the display field of the ComboBox control.
Public classCustomFileListT The base class for file lists. Implement the two abstract methods CompleteDetails(T) and InitColumns to use this class. You can also extend your own class from FileListItem and pass that as the generic parameter or simply use the FileListItem class provided in the ShellBrowser package if you do not intend to add special properties.
Public classCustomFileListItem The baseclass for list items in the CustomFileListT
Public classCustomFolderComboBox The CustomFolderComboBox is a simple component that allows to display folders and drives in a combo box with its associated icons. It is kept with basic functionality to allow for further extension by the programmer. See ShellComboBox for an advanced component which derives from the CustomFolderComboBox.
Public classCustomizePropertiesEventArgs Provides data for the CustomizeProperties event.
Public classCustomToolBar Customized Win32ToolBar.
Public classDateTimeInterval A class representing datetime intervals. The implementation supports closed intervals with an upper and lower a bound, as well as open intervals describing a point in time to search after or before it.
Public classDetailsPane A component that displays properties of a selected file or folder, similar to the details pane in Windows Explorer. It can be connected to other ShellBrowser controls using a ShellControlConnector.
Public classDrawToolBarButtonEventArgs Event arguments for DrawButton event.
Public classDriveList Use the DriveList to display available drives in the host. Items that are contained in the list are of type DriveListItem. This applies to the Items and the SelectedItems properties.
Public classDriveListItem Class contains infos about any items within the Lists
Public classExplorerBrowser This component embeds the native windows ExplorerBrowser control into a .NET component.
Public classExplorerSettingsHelper class that reads out global properties on Windows File Explorer configuration.
Public classExtensionMethodsClass that collects extension methods.
Public classFileList Use the Filelist if you want to search for files or folders within a specific path. You can also display several files residing in different folders, and allow the user to use drag&drop operations to manage the files.

 

Items that are contained in the list are of type FileListItem. This applies to the Items and the SelectedItems properties.
Public classFileListItem Class contains infos about any items within the Lists.
Public classFileMatchEventArgs Event arguments for the FileMatchEvent
Public classFolderChangingEventArgs Event arguments for the ExplorerBrowser.NavigationPending event. To cancel the navigation operation Cancel can be set to true.
Public classGUIWorkItemCompletedEventArgs EventArgs used in the GUIWaitCallbackWorkItem.Completed event.
Public classInvokeCommandEventArgs The event arguments of a BeforeInvokeCommandOnSelected. See also InvokeCommandOnSelected(ShellCommand).
Public classItemCheckedEventArgsGenTGeneric EventArgs for checkable items of a TreeView or ListView.
Public classItemCheckStateChangedEventArgsT The baseclass for NodeCheckStateChangedEventArgs and CheckStateChangedEventArgs.
Public classItemEventArgsT Event arguments for adding an item to a control. See also AddItemEventArgsBaseT.
Public classItemIdList Wrapper class for ItemIdList structures of the Win32 Shell.
Public classItemIdListBase2 Used as base class for the ItemIdList class.
Public classItemIdListConverterA TypeConverter for IJamItemIdLists and ItemIdLists . Used to allow to bindings between string and Shellfolder fields to dependency properties of type IJamItemIdList or ItemIdList.
Public classJamBaseShellListView The base listview class.
Public classJamBaseShellListViewShellListViewItemCollectionT Generic ListViewItemCollection class that subclasses of JamBaseShellListView use for their Items collections. Concrete subclasses must specify their item type in the ITEM_CLASS parameter.
Public classJamBaseShellListViewShellListViewSelectedItemCollectionT Generic ListViewSelectedListViewItemCollection class that subclasses of JamBaseShellListView use for their SelectedItems collections. Concrete subclasses must specify their item type in the ITEM_CLASS parameter.
Public classJamItemIdListCollection Collection class for items implementing IJamItemIdList.
Public classJamShellColumnCollection The ColumnCollection class used internally in JamBaseShellListViews and subtypes. The instance can be accessed via its interface IJamShellColumnCollection
Public classJamShellColumnHeader Represents a single column header in a JamBaseShellListView control.
Public classJamThread Improved version of .Net's Thread class
Public classListItemCheckedEventArgsProvides data for the ItemChecked event of the ShellListView control.
Public classListSelectionCancelEventArgs Cancellable EventArgs passing the selected items.
Public classLoadItemEventArgsT Event argument class for the OnLoadItem event.
Public classLoadPreviewEventArgs The event arguments for ShellFilePreview.LoadPreview. Set the PreviewHandlerGuid if you want to use a custom Preview Handler or provide your own Preview Handler implementation in CustomPreviewHandler
Public classLoadShellItemEventArgs This is a helper class, because we cannot use generic classes in Windows Forms Designer.
Public classNewWorkItemEventArgs Event arguments of e.g. NewWorkItemEvent
Public classNodeCheckStateChangedEventArgs The NodeCheckStateChangedEventArgs contains data for the CheckStateChanged event.
Public classOperationEventArgs Provides data for the Operation event.
Public classOSVersionInformation on the windows version.
Public classPathChangeCancelEventArgs Like FolderChangingEventArgs. Still available for compatibility.
Public classPathCollection A class that allows to store paths and prevents duplicates
Public classPathEdit The PathEdit is a simple component that allows the user to enter a path or to browse for it. The user can open a browse dialog by pressing the button on the right. Use the Path property to set a default path or the get the path that the user has finally chosen. Use The FolderMode property to define if the user should enter / browse for a path to a file or a folder.
Public classPathEventArgs EventArgs containing a Path.
Public classPathSelectionList This class is used as a property of the JamShellLink component for managing the list of selected paths that the user selects with shell controls that have the CheckBoxes property set to True. You can modify the list using the AddPathToSelection and RemovePathFromSelection method. You can save or load the list using the SaveToIniFile and LoadFromIniFile methods.
Public classPropertySystemHelperSome static methods for the property system.
Public classRemoveFileItemEventArgs The RemoveFileItemEventArgs contains data for the RemoveItem event.
Public classSearchCompletedEventArgs The SearchCompletedEventArgs contains data for the SearchCompleted event.
Public classSearchExceptionEventArgs This class provides the event arguments that may be of concern SearchExceptionOccurred
Public classSearchFolder Contains results of a search.
Public classSearchOptions The SearchOptions class defines different options
Public classSearchProgressChangedEventArgs The SearchProgressChangedEventArgs contains data for the SearchCompleted event.
Public classSelectionCancelEventArgsGenT Base class for events passing the selection of a ShellList or ShellTree in the EventArgs.
Public classCode exampleSetCursor Show the wait cursor for the whole application as long as the object is not disposed.
Public classShellAddressBar The addressbar found on top of Windows Explorer.
Public classShellBreadCrumbBar Embeds the native Windows BreadCrumbBar control into a .NET component.
Public classShellBrowser The ShellBrowser component is a non-visual component and allows you to browse to the shell name space of Windows, to query information about shell objects and to perform context menu operations.
Public classShellBrowserBase The ShellBrowser component is a non-visual component and allows you to browse to the shell name space of Windows, to query information about shell objects and to perform context menu operations.
Public classShellBrowserException(Serializable) exception for signaling ShellBrowser errors.
Public classShellChangeNotifier Use this component to get information about changes in the file system (copy, move or delete operations) and other changes relevant for shell operations.
Public classShellChangeNotifierList Manages the list of directories that are registered for notifications.
Public classShellComboBox The ShellComboBox is a simple component that allows to display folders and drives in a combo box with its associated icons. It is perfectly analogous to the windows explorer file selection dropdown list and provides an editable field as well.
Public classShellComboItem This class keeps information about the items displayed in the ShellComboBox.
Public classShellCommand This class provides identifies shell context menu commands that are to be executed or that the user has chosen. A command is represented by a string or a ShellContextMenuCommand value - they are assignment compatible. A ShellCommand also has a property "Caption" that stores the localized caption of a menu item the user has chosen. It is however not possible to create a command from a caption.
Public classShellCommandEventArgs The ShellCommandEventArgs contains which Verb is applied to what Items or Paths.
Public classCode exampleShellContextMenuProvider Class providing the explorer context menu. It is used by ShellBrowser internally, but can is publicly available to either show the system context menu for a file or a list of files (ShowContextMenu(Int32, Int32, ShellContextMenuOptions)) or to execute command from the menu (ExecuteCommand(ShellCommand)).
Public classShellControlConnector This component is able to synchronize several of the visual shell components (e.g. ShellTreeView, ShellListView). Just drop a ShellControlConnector component to this form and assign the ShellControlConnector property of all shell components to the ShellControlConnector component. You can refresh all connected shell controls by using the FullRefresh() method. If you want to use CheckBoxes in a ShellTreeView or ShellListView, that must be connected to a ShellControlConnector. The ShellControlConnector will synchronize the selected files and folder in the different shell controls.
Public classShellControlHelper A class with several helpful methods.
Public classShellFilePreview Use this component to display a preview of a file. Depending on the installed PreviewHandlers not all files types support a preview. If no preview is registered, a thumbnail of the file is shown. You may either use the Path property to set a path to a file to load the preview or you may synchronize it to a ShellListView or ShellTreeView component using the ShellControlConnector property.
Public classShellHistoryToolBar A ToolBar known from the Windows Explorer to control history of visited folders.
Public classShellHistoryToolStrip The ShellHistoryToolstrip menu provides a convenient way to navigate just like you would do using the explorer. Simply drop the ShellHistoryToolStrip on a ToolStrip container and connect it to a ShellControlConnector, off you go! Customize your forward and back button in the properties editor like you would do with any other button in your project. You can easily add more ToolStripItems to the menu if you desire.
Public classShellItem This class keeps information about item id lists, their names, and if desired their associated icons.
Public classShellItemFilter Provides filtering to the containing control.
Public classShellListBaseItem Base class for list items used in derived classes. An instance usually represents an item of the windows shell namespace.
Public classShellListItem Represents an item of the Windows shell namespace in a ShellListView
Public classShellListView This control displays the contents of a folder in a listview. When the user right clicks on a folder, it will automatically show the context menu. Use to Path property to get or set the current folder, use the SpecialFolder property to set a special folder like the Control Panel. The Filter property can be used to filter certain files by extension. For more advanced filtering options use the FilterRegularExpression property in code. The FullRefresh method refreshes the displayed information. You can synchronize a ShellListView with a ShellTreeView by using the ShellControlConnector property. By default, a double click is handled by the control and it tries to perform the default action for the selected object.

 

Items that are contained in the list are of type ShellListItem. This applies to the Items and the SelectedItems properties.

 

Sorting is handled automatically by this list when column headers are clicked. If custom sorting is needed, an IComparer can be assigned to property ListViewItemSorter. See Sort for an example.
Public classShellSearchEdit A SearchEdit is a search box similar to the Windows Search in the upper right corner of the Windows Explorer and provides a search for files and folders.
Public classShellSystemList This component embeds the native windows explorer control into a .net component.
Obsolete
Public classShellSystemListItem Represents an item of the Windows shell namespace in a ShellSystemList
Public classShellSystemListItemCollection Represents the collection of items in a ShellSystemList control.
Public classShellTreeNode Represents an item of the Windows shell namespace in a ShellTreeView.
Public classShellTreeSelectionCancelEventArgs Cancellable EventArgs passing the node that is selected or that was clicked.
Public classShellTreeView A ShellTreeView displays the shell namespace in a tree. When the user right clicks on a folder, it will automatically show the context menu. Use the SelectedPath property to get the currently selected path, use the SpecialFolder property to check if a special folder like the Control Panel is currently selected. You can configure the root nodes using the MultipleRoots property. A single root can be configured using the RootedAt or RootedAtFileSystemFolder properties. Set the ShellControlConnector to synchronize the ShellTree with other components, like a ShellListView. The AddTreeNode event can be used to customize single nodes in the Tree, including the icons that are displayed.
Public classShellViewColumn Item inside a ShellViewColumns collection.
Public classCode exampleShellViewColumns Class representing a collection of ShellViewColumns. It serves to control the visible columns in supported controls. Not supported on Windows XP.
Public classShowOptionEventArgs OptionEventArgs is a simple possibility to indicate whether a FullRefresh is needed after Options have changed.
Public classSystemImageListClass that wraps a system image list and is able to provide icon indices and icon handles.
Public classSystemImageListHelper Class that helps dealing with the system image list and returns icon indexes for files and folders.
Public classSystemImageListSizeExtensionsExtensions for the SystemImageListSize type.
Public classSystemListView This class provides the SystemStyles of Vista and other things common to the ShellListView and ShellFileList
Public classSystemListViewShowToolTipEventArgs Provides data about the ItemShowToolTip event.
Public classSystemShellListItemCollectionT Generic collection class for items implementing IShellItem.
Public classThumbnailImage Use this component to display a thumbnail image of a file or folder. The same thumbnail image that the Windows Explorer uses will be shown. The Windows Shell does not supply a thumbnail image for all objects. You may either set the Path property to set a path to a file or folder for which the thumbnail image should be displayed. Or you may synchronize it to a ShellListView or ShellTreeView component using the ShellControlConnector property.
Public classThumbnailUpdatedEventArgsEvent arguments for the ThumbnailUpdated event.
Public classToolBarButtonClickEventArgsProvides data for the ButtonClick event.
Public classTreeNodeCheckedEventArgsProvides data for the NodeChecked event of the ShellTreeView.
Public classUpdateFolderEventArgs the UpdateFolderEventArgs carries the environment of a ShellTreeNode that has just been Detail-completed
Public classWin32ShellContextMenuProviderClass that allows to show and execute shell context menus.
Public classWin32ToolBarRepresents a Windows toolbar. Only serves as base class for the BreadCrumbBar and other ShellBrowser components.
Public classWin32ToolBarToolBarButtonCollectionEncapsulates a collection of Win32ToolBarButton controls for use by the Win32ToolBar class.
Public classWin32ToolBarButtonRepresents a Windows toolbar button.
Public classWinFormsPathCollection A class that allows to store paths and prevents duplicates. Adds some methods that need access of Windows.Forms.
Public classWorkerThreadPool A thread pool that manages work items, in contrast to the common .net threadpool, threads managed by this pool may perform calls to COM objects.
Structures
 StructureDescription
Public structureRECT http://msdn.microsoft.com/en-us/library/ms536136.aspx
Public structureSHCOLUMNID Specifies the FMTID/PID identifier of a column that will be displayed by the Windows Explorer Details view.
Protected structureShellListBaseItemDetails Helper struct for fetching element attributes outside the main thread.
Interfaces
 InterfaceDescription
Public interfaceICheckableItemInterface for checkable item.
Public interfaceICommonPreviewHandlerHostInterface for the host of a PreviewHandler, i.e. the control hosing a CommonPreviewHandler. It is used to provide the handle and displayRect to the system's PreviewHandler. Also it must provide an "OnLoaded" eventhandler that is called after the preview has been loaded asynchronously.
Public interfaceIExplorerSettingsInterface for explorer settings.
Public interfaceIFileMatcher This interface is used to call a file matching mechanism from the background worker thread managed within a FileSearcher instance. Furthermore it is used by the File/Folder change notification.
Public interfaceIJamItemIdList Interface of a ShellItem that is used as data object in the ShellBrowser controls.
Public interfaceCode exampleIJamShellColumnCollection Interface representing a ColumnCollection. This interface is returned by Columns
Public interfaceIJamShellItemOperationsInterface for operations items presented in the shell components can support.
Public interfaceIJamShellItemVisualsInterface for visual presentation of shell items.
Public interfaceIShellChangeNotifierInterface for shell change notifier.
Public interfaceIShellCommandInvokableInterface for components supporting to invoke shell commands.
Public interfaceIShellControl Interface that all shell controls implement.
Public interfaceIShellControlConnectorInterface for ShellControlConnector that is used by WPF controls to inform on path changes/>.
Public interfaceIShellControlConnectorTargetInterface that is used by ShellControlConnector, that is implemented by controls and called when the common path or centrally selected item changes.
Public interfaceIShellItem Defines a common interface for ShellListItem and ShellTreeNode.
Public interfaceIShellPreviewHandler Interface that is used by a host control implementing ICommonPreviewHandlerHost for the preview of different file types
Public interfaceIWorkItem This interface defines a work item that can be queued to the threadpool
Delegates
 DelegateDescription
Public delegateGetThumbnailCallback Delegate for the callback function for retreiving a thumbnail using the asynchronous version of GetThumbnailBitmap().
Public delegateSystemImageListHelperSetIconDelegateDelegate for the method that is called when an icon is retrieved.
Public delegateSystemListViewShowToolTipEventHandlerItemShowToolTip event
Public delegateThumbnailUnavailableHandler A delegate to execute if the shell doesn't supply a real thumbnail of the element.
Public delegateWinFormsPathCollectionGetFolderSizeCallbackDelegate This delegate is used by GetFolderSize(String, WinFormsPathCollectionGetFolderSizeCallbackDelegate, Object) to get folder sizes asynchronously.
Enumerations
 EnumerationDescription
Public enumerationCheckBoxModeValues that represent check box modes.
Public enumerationCheckMode Values that represent check modes for ExplorerBrowser and ShellSystemList.
Public enumerationCheckState Available system image list sizes
Public enumerationCustomDrawStage Possible custom draw stages.
Public enumerationCustomDrawState Possible custom draw states.
Public enumerationExplorerPane Contains flags for the panes that can be used in the Explorer window.
Public enumerationExplorerShowHeader Possible column header states.
Public enumerationFileNameFormatValues that determine what the item names returned by GetShellObjectName look like.
Public enumerationFolderFlags The folder flags are used to specify how the control displays its content. Most of these flags can be or'ed together. http://msdn.microsoft.com/en-us/library/bb762508(VS.85).aspx
Public enumerationIconSize Default Windows Icon sizes for the different ViewModes.
Public enumerationItemIdListDisplayNameFormatValues that represent display name formats.
Public enumerationItemIdListComparison Available modes to compare two ItemIdLists.
Public enumerationMultipleRootsValues that represent multiple roots.
Public enumerationNotificationEvents The types of notification events that may occur
Public enumerationRefreshLevelPossible values for refresh operations for controls connected through a ShellControlConnector.
Public enumerationSFGAOF Indicate flags used by IShellFolder2 GetAttributesOf() method to specify the requested attributes.
Public enumerationShellAddressBarPane Possible panes of an ShellAddressBar.
Public enumerationShellAutoComplete The autocompletion mode the PathEdit and ComboBox control are using. These are flags, that can be or'ed together.
Public enumerationShellBrowserBaseAsyncResultValues that represent the possible result values of Next(IShellChangeNotifier).
Protected enumerationShellComboBoxListKind The enumeration is used by AddShellFolder(ShellBrowser, ShellFolder, ShellComboBoxListKind, Boolean) methods.
Public enumerationShellContextMenuCommandValues that represent shell context menu commands.
Public enumerationShellContextMenuOptionsA bit-field of flags for specifying context menu options.
Public enumerationShellFolder ShellFolder values provide a unique system-independent way to identify special folders used frequently by applications, but which may not have the same name or location on any given system.
Protected enumerationShellListBaseItemItemState Flags that reflect the state of the ShellListBaseItem
Public enumerationShellOperation Enumeration of possible operations that may happen for a shell control.
Public enumerationShellTreeNodeRefreshDirection The possible options to refresh a checkstate of a ShellTreeNode. .
Public enumerationShellTreeViewGotoFolderIdListAction Possible actions that can be performed by GotoFolderIdList(ItemIdList, ShellTreeViewGotoFolderIdListAction).
Public enumerationSystemImageListSize Available system image list sizes
Public enumerationThumbnailModeValues that represent the possible values for ThumbnailMode./
Public enumerationToolBarAppearanceSpecifies the type of toolbar to display.
Public enumerationToolBarButtonStyleSpecifies the button style within a toolbar.
Public enumerationToolBarTextAlignSpecifies the alignment of text on the toolbar button control.
Public enumerationViewSortDirection View sort direction
Public enumerationViewState ViewState enumeration for ListView superseeds System.Windows.Forms.View