Hello and welcome to our Knowledge Base. Our experts provide answers to the most frequently asked questions of our customers. Start your information search here to find your answer quickly and easily.
Please enter your query or select one of the above categories.
Knowledge Base ShellBrowser .NET Components
|All entries (Page 1 / 4)|
Not all controls in the ShellBrowser WPF Edition are native WPF controls. Some - like ExplorerBrowser - host ActiveX controls, others like currently the ShellTreeView and ShellListView are Windows Form based.
Mixing those components in a WPF app is underlying some technological restrictions that turn up as "airspace problems" (see e.g. https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/technology-regions-overview).
Unfortunately, we cannot fix these issues. In future versions of the WPF Components we therefore plan to add more native WPF controls that can be used as a replacement for the Windows Forms based ones.
In case of doubt, please don't hesitate to test the controls intensively using the demo version.
ShellBrowser uses registered preview handler shell extensions for the FilePreview component. Some of these extensions belong to Windows, others are installed with third party applications.
If the FilePreview is not working, please check the following list:
- Does Windows Explorer preview the files correctly? If no, there is either no preview handler installed, or it is not working correctly. Try updating the respective program.
- If the problem occurs in a x86 application, please try compiling a 64-bit version.
- The FilePreview component works asynchronously. Depending on the context (versions of Windows, Rad Studio and the PreviewHandler, but also the layout of the form containing the Preview) some Preview Handler may not work or show visual glitches.
Try forcing the loading of the preview into the main thread, by implementing the OnLoadPreview event of the Preview.
- If all of this fails, don't hesitate to contact the support. In this case, please provide details on the error: versions of Windows, the IDE and the program that provides the PreviewHandler.
When configuring ExplorerBrowser to only include the FolderView, it looks much like the ShellListView.
ExplorerBrowser wraps a Windows system component, and thus it will look exactly like Windows File Explorer.The ShellListView on the other hand derives a Windows Forms ListView control, that tries to resemble Windows File Explorer as much as possible. While it misses some aspects of this, it can on the other hand be customized more widely visually and functionally.
- Create a new folder to your project, e.g. "ShellBrowser"
- Create subfolders: CommonControls, Controls, Core, Resources and Design
- From the "Source" subfolder of the ShellBrowser.NET installation directory, add all source files (and resources) to the respective folders
- In addition, add the Resources.Designer.cs and Resources.resx from the "Source" subfolder
- Remove references to ShellBrowser.dll and ShellBrowser.Core.dll from your project
You do not need to install ShellBrowser.NET on the build server.
Instead, you can add the ShellBrowser assemblies (ShellBrowser.dll and ShellBrowser.Core.dll) as files to your project and replace the assemblies in the project references by the copied dlls.
Make sure to deploy the ShellBrowser dlls to the build server with your project.
This also gives you full control when updating ShellBrowser.NET to a new version.
Depending on .NET Framework and Visual Studio version the Visual Studio hosting process might interfere with certain registered PreviewHandlers.
This behavior will not occur if Visual Studio is either not running or the hosting process is not enabled.
Try running your project with Visual Studio completely closed, or disable the hosting process in Visual Studio (In "Project\Properties\Debug" uncheck the option "Enable the Visual Studio hosting process".
Make sure that your application has visual styles enabled. You can do this by calling Application.EnabledVisualStyles() or by adjusting your application manifest.
The file is necessary to develop software with the ShellBrowser controls but not to run them. "JamDesign.dll" must not be delivered together with the software that is using the ShellBrowser controls.
Assign the PathChanged event for a ShellList and the BeforeSelect event for a ShellTreeView. If only want to allow the Windows folder, the code could look like this:
private const string cAllowedPath = "C:\\Windows";
private void shellListView1_PathChanged(object sender, EventArgs e)
// Note: PathCollection also can check if the new Path is a subpath, by calling PathCollection.IsSubPathOf(string, string)
if (!Jam.Shell.PathCollection.SamePath(shellListView1.Path, cAllowedPath))
shellListView1.Path = cAllowedPath;
private void shellTreeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
e.Cancel = true;
JAM Software GmbH
Am Wissenschaftspark 26
Commercial register number:
HRB 4920 (AG Wittlich)