Hallo und herzlich Willkommen in unserer Wissensdatenbank.
Unsere Fachexperten liefern hier Antworten auf die häufigsten Fragen unserer Kunden.
Beginnen Sie Ihre Informationssuche hier, um schnell und einfach auch Ihre Antwort zu finden.
Geben Sie bitte einen Suchbegriff ein oder wählen Sie eine der obenstehenden Kategorien aus.

Knowledge Base ShellBrowser .NET Components

status_loader


Um die Suchfunktion nutzen zu können benötigen Sie JavaScript.

Die folgenden Inhalte sind leider nicht auf Deutsch verfügbar.

Alle Einträge (Seite 1 / 4)
Previews of a certain file type are not displayed correctly. What's wrong?

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.

Where can I download my software?


Log in to the "Customers Area", using your login name and password.
Please follow the link "Downloads / Updates" in the left hand menu named "Customers Area".
There you can download your software immediately after finishing your order.

Can I use ShellBrowser to add a custom context menu entry or add other functionality to Windows Explorer?

Unfortunately this is beyond the scope of ShellBrowser components. You have to write a "shortcut menu handler" or other type of shell extension to do so.

See the Microsoft documentation for an overview.

I want to handle the double click on a file in ExplorerBrowser myself. Is there an event I can use to catch the opening file and to cancel the open action?

Use the DefaultAction event. It is called when the user double-clicks an item, or opens it via pressing <Enter>.

You can cancel the default operation by setting the InvocationProcessed property of the passed event arguments to true.

Can I use ShellBrowserComponents .Net Edition with Visual Studio Express or the Community Edition?

Yes. The components can be used with Express and Community Editions of Visual Studio. Have a look at http://www.jam-software.de/knowledgebase/6790 if you encounter a problem.

What is the difference between the ShellListView and ExplorerBrowser?

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.

Is there a WPF Edition of ShellBrowser.NET components or are the ShellBrowser.NET components compatible with WPF?

Yes, you can find the ShellBrowser WPF Components here.

I have the source code version of ShellBrowser.NET and want to build the sources. What do I have to do?
  • 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

We use a build server. Do we have to install ShellBrowser.NET on it to build our projects there?

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. 

When I run my project from Visual Studio pdf, msg or sometimes txt files cannot be previewed in the ShellFilePreview component.

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


 

I'm trying to preview .msg files with the ShellFilePreview component. This doesn't work or I can only see the header of the files.

Make sure that your application has visual styles enabled. You can do this by calling Application.EnabledVisualStyles() or by adjusting your application manifest.


 

How can I prevent the selected path to be changed by the user?

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)
{
 if (!Jam.Shell.PathCollection.SamePath(((ShellTreeNode)e.Node)
.FullPath, cAllowedPath))
  e.Cancel = true;
}