IHelpService Rozhraní

Definice

Poskytuje metody pro zobrazení témat nápovědy a přidávání a odebírání klíčových slov nápovědy v době návrhu.

public interface class IHelpService
public interface IHelpService
type IHelpService = interface
Public Interface IHelpService

Příklady

Následující příklad ukazuje návrháře, který používá IHelpService k přidání a odebrání kontextových atributů nápovědy pro zahrnutý ovládací prvek. Pokud chcete tuto ukázku použít, zkompilujte ji do knihovny tříd a přidejte instanci ovládacího prvku do Form. V návrhovém zobrazení se výběrem komponenty a stisknutím klávesy F1 pokusíte vyhledat relevantní témata nápovědy na základě aktuálního kontextového klíčového slova nebo klíčových slov nápovědy. Klikněte pravým tlačítkem na komponentu a v místní nabídce se zobrazí příkazy, včetně dvou vlastních DesignerVerb příkazů s názvem Add IHelpService Help Keyword a Remove IHelpService Help Keyword. Tyto příkazy lze použít k přidání nebo odebrání kontextového klíčového slova nápovědy hodnoty "IHelpService", která se pokusí vyvolat IHelpService téma při stisknutí klávesy F1.

#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#using <System.Design.dll>
#using <System.dll>

using namespace System;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::IO;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::Design;

public ref class HelpDesigner: public System::Windows::Forms::Design::ControlDesigner
{
public:
   HelpDesigner(){}

   property System::ComponentModel::Design::DesignerVerbCollection^ Verbs 
   {
      virtual System::ComponentModel::Design::DesignerVerbCollection^ get() override
      {
         array<DesignerVerb^>^temp0 = {gcnew DesignerVerb( "Add IHelpService Help Keyword",gcnew EventHandler( this, &HelpDesigner::addKeyword ) ),gcnew DesignerVerb( "Remove IHelpService Help Keyword",gcnew EventHandler( this, &HelpDesigner::removeKeyword ) )};
         return gcnew DesignerVerbCollection( temp0 );
      }
   }

private:
   void addKeyword( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      IHelpService^ hs = dynamic_cast<IHelpService^>(this->Control->Site->GetService( IHelpService::typeid ));
      hs->AddContextAttribute( "keyword", "IHelpService", HelpKeywordType::F1Keyword );
   }

   void removeKeyword( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      IHelpService^ hs = dynamic_cast<IHelpService^>(this->Control->Site->GetService( IHelpService::typeid ));
      hs->RemoveContextAttribute( "keyword", "IHelpService" );
   }
};


[Designer(HelpDesigner::typeid)]
public ref class HelpTestControl: public System::Windows::Forms::UserControl
{
public:
   HelpTestControl()
   {
      this->Size = System::Drawing::Size( 320, 100 );
      this->BackColor = Color::White;
   }

protected:
   virtual void OnPaint( System::Windows::Forms::PaintEventArgs^ e ) override
   {
      Brush^ brush = gcnew SolidBrush( Color::Blue );
      e->Graphics->DrawString( "IHelpService Example Designer Control", gcnew System::Drawing::Font( FontFamily::GenericMonospace,10 ), brush, 5, 5 );
      e->Graphics->DrawString( "Right-click this component for", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 25 );
      e->Graphics->DrawString( "add/remove Help context keyword commands.", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 35 );
      e->Graphics->DrawString( "Press F1 while this component is", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 55 );
      e->Graphics->DrawString( "selected to raise Help topics for", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 65 );
      e->Graphics->DrawString( "the current keyword or keywords", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 75 );
   }
};
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace IHelpServiceSample
{
    public class HelpDesigner : System.Windows.Forms.Design.ControlDesigner
    {
        public HelpDesigner()
        {			
        }

        public override System.ComponentModel.Design.DesignerVerbCollection Verbs
        {
            get
            {
                return new DesignerVerbCollection( new DesignerVerb[] { 
                        new DesignerVerb("Add IHelpService Help Keyword", new EventHandler(this.addKeyword)),
                        new DesignerVerb("Remove IHelpService Help Keyword", new EventHandler(this.removeKeyword))
                } );
            }
        }
        
        private void addKeyword(object sender, EventArgs e)
        {
            IHelpService hs = (IHelpService) this.Control.Site.GetService(typeof(IHelpService));			
            hs.AddContextAttribute("keyword", "IHelpService", HelpKeywordType.F1Keyword);	
        }
        
        private void removeKeyword(object sender, EventArgs e)
        {
            IHelpService hs = (IHelpService) this.Control.Site.GetService(typeof(IHelpService));			
            hs.RemoveContextAttribute("keyword", "IHelpService");
        }
    }

    [Designer(typeof(HelpDesigner))]
    public class HelpTestControl : System.Windows.Forms.UserControl
    {
        public HelpTestControl()
        {
            this.Size = new Size(320, 100);
            this.BackColor = Color.White;
        }

        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {			
            Brush brush = new SolidBrush(Color.Blue);
            e.Graphics.DrawString("IHelpService Example Designer Control", new Font( FontFamily.GenericMonospace, 10 ), brush, 5, 5);
            e.Graphics.DrawString("Right-click this component for", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 25);
            e.Graphics.DrawString("add/remove Help context keyword commands.", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 35);			
            e.Graphics.DrawString("Press F1 while this component is", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 55);
            e.Graphics.DrawString("selected to raise Help topics for", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 65);			
            e.Graphics.DrawString("the current keyword or keywords", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 75);			
        }		
    }
}
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.IO
Imports System.Windows.Forms
Imports System.Windows.Forms.Design

Namespace IHelpServiceSample

    Public Class HelpDesigner
        Inherits System.Windows.Forms.Design.ControlDesigner

        Public Sub New()
        End Sub

        Public Overrides ReadOnly Property Verbs() As System.ComponentModel.Design.DesignerVerbCollection
            Get
                Return New DesignerVerbCollection(New DesignerVerb() {New DesignerVerb("Add IHelpService Help Keyword", AddressOf Me.addKeyword), New DesignerVerb("Remove IHelpService Help Keyword", AddressOf Me.removeKeyword)})
            End Get
        End Property

        Private Sub addKeyword(ByVal sender As Object, ByVal e As EventArgs)
            Dim hs As IHelpService = CType(Me.Control.Site.GetService(GetType(IHelpService)), IHelpService)
            hs.AddContextAttribute("keyword", "IHelpService", HelpKeywordType.F1Keyword)
        End Sub

        Private Sub removeKeyword(ByVal sender As Object, ByVal e As EventArgs)
            Dim hs As IHelpService = CType(Me.Control.Site.GetService(GetType(IHelpService)), IHelpService)
            hs.RemoveContextAttribute("keyword", "IHelpService")
        End Sub
    End Class

    <Designer(GetType(HelpDesigner))> _
    Public Class HelpTestControl
        Inherits System.Windows.Forms.UserControl

        Public Sub New()
            Me.Size = New Size(320, 100)
            Me.BackColor = Color.White
        End Sub

        Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
            Dim brush As New SolidBrush(Color.Blue)
            e.Graphics.DrawString("IHelpService Example Designer Control", New Font(FontFamily.GenericMonospace, 10), brush, 5, 5)
            e.Graphics.DrawString("Right-click this component for", New Font(FontFamily.GenericMonospace, 8), brush, 5, 25)
            e.Graphics.DrawString("add/remove Help context keyword commands.", New Font(FontFamily.GenericMonospace, 8), brush, 5, 35)
            e.Graphics.DrawString("Press F1 while this component is", New Font(FontFamily.GenericMonospace, 8), brush, 5, 55)
            e.Graphics.DrawString("selected to raise Help topics for", New Font(FontFamily.GenericMonospace, 8), brush, 5, 65)
            e.Graphics.DrawString("the current keyword or keywords", New Font(FontFamily.GenericMonospace, 8), brush, 5, 75)
        End Sub
    End Class
End Namespace 'IHelpServiceSample

Poznámky

Prostředí v době návrhu poskytuje systém nápovědy, který se pokusí najít relevantní témata nápovědy, která se zobrazí, když uživatel stiskne klávesu F1. Systém nápovědy udržuje sadu aktuálních kontextových klíčových slov, která se používají k identifikaci relevantních témat, pokud je požadována nápověda. Ve výchozím nastavení jsou klíčová slova přidružena k vybraným objektům třídy a vlastnostem objektů v prostředí návrhu. Výchozí klíčové slovo pro komponentu nebo vlastnost je její plně kvalifikovaný název třídy nebo vlastnosti. Konkrétní klíčová slova jsou také přidružena k určitým režimům, například když je vybráno více objektů. Pokud je vlastní kolekce nápovědy integrovaná s prostředím v době návrhu tím, že ji nakonfigurujete pro externího poskytovatele nápovědy, může poskytovatel dokumentace přidružit téma pro konkrétní třídu nebo vlastnost komponenty k klíčovému slovu, které se skládá z plně kvalifikovaného typu položky nebo názvu člena.

Nástroj IHelpService lze použít k vyvolání služby nápovědy pomocí zadaného klíčového slova pomocí ShowHelpFromKeyword metody nebo k vyvolání tématu nápovědy ze zadané adresy URL pomocí ShowHelpFromUrl metody .

Lze IHelpService také použít k přidání nebo odebrání klíčových slov nápovědy v době návrhu. Při výběru komponenty nebo vlastnosti v době návrhu se nastaví výchozí kontextové klíčové slovo, které se skládá z plně kvalifikovaného typu nebo názvu člena výběru, a odebere klíčová slova pro všechny dříve vybrané a již nevybrané součásti nebo vlastnosti.

Vzhledem k tomu, že systém nápovědy neodebere automaticky vlastní klíčová slova nápovědy, musíte vlastní klíčové slovo explicitně odebrat, pokud už neplatí. Můžete monitorovat události definované rozhraním ISelectionService a určit, kdy se změní výběr komponenty. Na základě těchto událostí můžete přidat atribut kontextu nápovědy pro komponentu, když je vybrána, a potom odebrat atribut kontextu nápovědy, pokud výběr již komponentu neobsahuje.

Metody

AddContextAttribute(String, String, HelpKeywordType)

Přidá do dokumentu atribut kontextu.

ClearContextAttributes()

Odebere z dokumentu všechny existující atributy kontextu.

CreateLocalContext(HelpContextType)

Vytvoří místní IHelpService pro správu podkontextů.

RemoveContextAttribute(String, String)

Odebere dříve přidaný atribut kontextu.

RemoveLocalContext(IHelpService)

Odebere kontext vytvořený pomocí CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Zobrazuje téma nápovědy, které odpovídá zadanému klíčovému slovu.

ShowHelpFromUrl(String)

Zobrazuje téma nápovědy, které odpovídá zadané adrese URL.

Platí pro

Viz také