ShellBrowser .Net Edition
Jam.Shell Namespace
NamespacesJam.Shell
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.
Declaration Syntax
C#Visual BasicVisual C++
namespace Jam.Shell
Namespace Jam.Shell
namespace Jam.Shell
Types
All TypesClassesStructuresInterfacesEnumerationsDelegates
IconTypeDescription
AddFileItemEventArgs
The AddItemEventArgs contains data for the AddItem event.

AddItemEventArgs
The AddItemEventArgs contains data for the AddItem event.

AddItemEventArgsBase<(Of <(LIST_ITEM>)>)
This is the base class for AddItemEventArgs and AddFileItemEventArgs

AddSystemListItemEventArgs
The AddSystemListItemEventArgs contains data for the AddItem event.

AddTreeNodeEventArgs
Provides data for the OnAddTreeNode(ShellTreeNode) event.

BackgroundContextMenu
This class provides most of the default background context menu functionality from the windows explorer.

BaseSelectionList
Base class for the PathSelectionList.

BasicWorkItem
This class provides base functionality for a work item, only the abstract method HandleWorkItem()()() has to be implemented to start things

BeforeShellCommandEventArgs
The BeforeShellCommandEventArgs contains data for the BeforeShellCommand event. You can permit the execution of the shell command by registering to the event, then setting ExecuteShellCommand to false if necessary.

BeforeShellDropEventArgs
The BeforeShellDropEventArgs contains data for the BeforeShellDrop event. You can permit the execution of the shell command by registering to the event, then setting ExecuteShellDrop to false if necessary.

ChangeNotificationEventArgs
The ChangeNotificationEventArgs contains data for the Change event.

ChangeNotificationPidlEventArgs
The ChangeNotificationEventArgs contains data for the ChangePIDL()()() event.

CheckState
Available system image list sizes

CheckStateChangedEventArgs
The CheckStateChangedEventArgs contains data for the CheckStateChanged event.

ContextMenuItemSelectedEventArgs
The ContextMenuItemSelectedEventArgs contains data for the ContextMenuItemSelected event.

CustomEditComboBox
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.

CustomFileList<(Of <(LIST_ITEM>)>)
The base class for file lists. Implement the two abstract methods and 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.

CustomFileListItem
The baseclass for list items in the CustomFileList<(Of <(LIST_ITEM>)>)

CustomFolderComboBox
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.

DateTimeInterval
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.

DriveList
Use the DriveList to display available drives in the host

DriveListItem
Class contains infos about any items within the Lists

EnumWinCallBackDelegate
Delegate that is called for each child window of the SystemListView. Its used in EnumChildWindows(IntPtr, EnumWinCallBackDelegate, IntPtr).

FILE_ATTRIBUTES
Attribute information for the file or directory.

FileList
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.

FileListItem
Class contains infos about any items within the Lists

FileMatchEventArgs
Event arguments for the FileMatchEvent

FolderFlags
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

FolderViewMode
Enumerates the different viewmodes of the explorer listview.

PathCollection..::.GetFolderSizeCallback
This delegate is used by GetFolderSize(String, PathCollection..::.GetFolderSizeCallback, Object) to get folder sizes asynchronously.

ShellBrowser..::.GetThumbnailCallback
Delegate for the callback function for reteiving a thumbnail using the asynchronous version of GetThumbnailBitmap().

ShellTreeView..::.GotoFolderIdListAction
SystemListView..::.HeaderRightClickHandler

IFileMatcher
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.

IListBaseItem
Defines some properties that list items have in common.

InvokeCommandEventArgs
IShellControl
Interface that all shell controls implement.

IShellItem
Defines a common interface for ShellListItem and ShellTreeNode. It will be extended in the future.

ItemCheckStateChangedEventArgs<(Of <(T>)>)
ItemEventArgs<(Of <(LIST_ITEM>)>)
Holds the Item for any item event, see also AddItemEventArgsBase<(Of <(LIST_ITEM>)>).

ItemIdList
Wrapper class for ItemIdList structures of the Win32 Shell.

ItemIdListBase2
Used as base class for the ItemIdList class.

ShellListBaseItem..::.ItemState
Flags that reflect the state of the ShellListBaseItem

IWorkItem
This interface defines a work item that can be queued to the threadpool

JamBaseShellListView
The base listview class.

JamThread
Improved version of .Net's Thread class

ShellComboBox..::.ListKind
The enumeration is used by the and methods.

NewWorkItemEventArgs
Event arguments of e.g. NewWorkItemEvent

NodeCheckStateChangedEventArgs
The NodeCheckStateChangedEventArgs contains data for the CheckStateChanged event.

NotificationEvents
The types of notification events that may occur

OperationEventArgs
Provides data for the Operation event.

PathCollection
A class that allows to store paths and prevents duplicates

PathEdit
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.

PathSelectionList
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.

ShellTreeNode..::.RefreshDirection
The possible options to refresh a checkstate of a ShellTreeNode. .

SearchCompletedEventArgs
The SearchCompletedEventArgs contains data for the SearchCompleted event.

SearchExceptionEventArgs
This class provides the event arguments that may be of concern SearchExceptionOccurred

SearchOptions
The SearchOptions class defines different options

SearchProgressChangedEventArgs
The SearchProgressChangedEventArgs contains data for the SearchCompleted event.

SetCursor
Show the wait cursor for the whole application as long as the object is not disposed.

SFGAOF
Indicate flags used by IShellFolder2 GetAttributesOf() method to specify the requested attributes.

SHCOLUMNID
Specifies the FMTID/PID identifier of a column that will be displayed by the Windows Explorer Details view.

PathEdit..::.ShellAutoComplete
The autocompletion mode the PathEdit control uses. These are flags, that can be or'ed together.

CustomEditComboBox..::.ShellAutoComplete
The autocompletion mode the ShellComboBox uses. These are flags, that can be or'ed together.

ShellBrowser
This class is used as a wrapper around the Win32 shell API.

ShellChangeNotifier
Use this component to get information about changes in the file system (copy, move or delete operations) and other changes relevant for shell operations. The Directory property decides which part of the shell namespace will be watched for changes.

ShellComboBox
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.

ShellComboItem
This class keeps information about the items displayed in the ShellComboBox.

ShellCommand
This class provides methods to determine whether a command is a default shell command the default ShellCommands

ShellControlConnector
This component is able to synchronize several of the visual shell components ShellTreeView, ShellListView and ThumbnailImage. 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.

ShellFolder
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.

ShellHistoryToolStrip
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.

ShellItem
This class keeps information about item id lists, their names, and if desired their associated icons.

ShellListBaseItem
Represents an item of the windows shell namespace that serves as a common base for ShellListItem and FileListItem

ShellListItem
Represents an item of the Windows shell namespace in a ShellListView

ShellListView
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. 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.

ShellOperation
Enumeration of possible operations that may happen for a shell control.

ShellSystemList
This component embeds the native windows explorer control into a .net component.

ShellSystemListItem
Represents an item of the Windows shell namespace in a ShellSystemList

ShellSystemListItemCollection
Represents the collection of items in a ShellSystemList control.

ShellTreeNode
Represents an item of the Windows shell namespace in a ShellTreeView.

ShellTreeView
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. Usually a ShellTreeView component will be rooted the desktop folder, but you can use the RootedAt property to choose a different root folder. You can synchronize a ShellListView with a ShellTreeView by using the ShellControlConnector property.

ShowOptionEventArgs
OptionEventArgs is a simple possibility to indicate whether a FullRefresh is needed after Options have changed.

SystemListView..::.ShowToolTipEventArgs
Provides data about the ItemShowToolTip event.

SystemListView..::.ShowToolTipEventHandler
SystemImageListHelper
class that helps dealing with the system image list and returns icon indexes for files and folders

SystemImageListSize
Available system image list sizes

SystemListView
This class provides the SystemStyles of Vista and other things common to the ShellListView and ShellFileList

ThumbnailImage
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.

UpdateFolderEventArgs
the UpdateFolderEventArgs carries the environment of a ShellTreeNode that has just been Detail-completed

ViewState
ViewState enumeration for ListView superseeds System.Windows.Forms.View

WorkerThreadPool
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.