# C1.Win.C1DynamicHelp.Providers.IHelpProvider

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Win_C1DynamicHelp_Providers_IHelpProvider" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider" class="text-break">IHelpProvider Interface
</h1>
  <div class="markdown level0 summary"><p>The interface that needs to be implemented by a help provider class.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Win.C1DynamicHelp.Providers.html">C1.Win.C1DynamicHelp.Providers</a></h6>
  <h6><strong>Assembly</strong>: C1.Win.C1DynamicHelp.4.8.dll</h6>
  <h5 id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IHelpProvider</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Interface IHelpProvider</code></pre>
  </div>
  <h5 id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>You need to know this interface only if you want to create your own custom help provider (an advanced feature). A help provider can read data from a help
source and provides methods to get help topics, to get context IDs, to open help in an external window, to get a topic URL that can be
displayed by the C1DynamicHelp control, etc. There are two built-in help providers in the C1DynamicHelp: ChmProvider and NetHelpProvider
which are used automatically when the <a class="xref" href="C1.Win.C1DynamicHelp.C1DynamicHelp.HelpSource.html#C1_Win_C1DynamicHelp_C1DynamicHelp_HelpSource">HelpSource</a> property points to a .chm or a .htm/html file, correspondingly. If you want to use another
help source type (for example, MS Help 2.0) you can do it by creating your own help provider class implementing this interface.</p>
</div>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_Source" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.Source">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.Source.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_Source">Source</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the help file.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_CorrectUrl_System_String_" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.CorrectUrl(System.String)">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.CorrectUrl.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_CorrectUrl_System_String_">CorrectUrl(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Checks whether the URL is in correct format and corrects it if necessary.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetCtxtIdMap" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetCtxtIdMap">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetCtxtIdMap.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetCtxtIdMap">GetCtxtIdMap()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a dictionary of help topics indexed by their context IDs
(contains only topics that have context ids).</p>
</td>
      </tr>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetFullUrl_System_String_" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetFullUrl(System.String)">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetFullUrl.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetFullUrl_System_String_">GetFullUrl(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a URL in a specific for the help provider format that can be displayed by the C1DynamicHelp control.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetTopics" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetTopics">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetTopics.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetTopics">GetTopics()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a hierarchical list of topics in the help file.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetUrlMap" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetUrlMap">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.GetUrlMap.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_GetUrlMap">GetUrlMap()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a dictionary of help topics indexed by their URLs (contains all topics).</p>
</td>
      </tr>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_ShowExternalHelp_C1_Win_C1DynamicHelp_HelpTab_" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.ShowExternalHelp(C1.Win.C1DynamicHelp.HelpTab)">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.ShowExternalHelp.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_ShowExternalHelp_C1_Win_C1DynamicHelp_HelpTab_">ShowExternalHelp(HelpTab)</a>
        </td>
        <td class="markdown level1 summary"><p>Displays the contents of the help file in an external help viewer window instead of in the C1DynamicHelp panel.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Win_C1DynamicHelp_Providers_IHelpProvider_ShowExternalHelp_C1_Win_C1DynamicHelp_HelpTab_System_Object_" data-uid="C1.Win.C1DynamicHelp.Providers.IHelpProvider.ShowExternalHelp(C1.Win.C1DynamicHelp.HelpTab,System.Object)">
          <a class="xref" href="C1.Win.C1DynamicHelp.Providers.IHelpProvider.ShowExternalHelp.html#C1_Win_C1DynamicHelp_Providers_IHelpProvider_ShowExternalHelp_C1_Win_C1DynamicHelp_HelpTab_System_Object_">ShowExternalHelp(HelpTab, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Displays the contents of the help file in an external help viewer window instead of in the C1DynamicHelp panel.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
