IHelpService Rozhraní

Definice

Poskytuje metody 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ář, který používá IHelpService k přidání a odebrání kontextových atributů nápovědy pro zahrnutý ovládací prvek. Chcete-li použít tuto ukázku, zkompilujte ji do knihovny tříd a přidejte instanci ovládacího prvku do objektu Form. V návrhovém zobrazení vyberete komponentu a stisknutím klávesy F1 se pokusíte vyhledat relevantní témata nápovědy na základě aktuálního klíčového slova nebo klíčových slov kontextu nápovědy. Klikněte pravým tlačítkem myši na komponentu a místní nabídka zobrazí příkazy, včetně dvou vlastních DesignerVerb příkazů pojmenovaných Add IHelpService Help Keyword a Remove IHelpService Help Keyword. Tyto příkazy lze použít k přidání nebo odebrání klíčového slova kontextu nápovědy hodnoty "IHelpService", která se pokusí vyvolat téma při stisknutí klávesy IHelpService 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í vyhledat 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á slouží 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žená k vybraným objektům třídy a vlastnostem objektů v prostředí doby návrhu. Výchozí klíčové slovo pro komponentu nebo vlastnost je jeho 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 při výběru více objektů. Pokud je vlastní kolekce nápovědy integrovaná s prostředím návrhu tak, že ji nakonfigurujete pro externího zprostředkovatele nápovědy, může poskytovatel dokumentace přidružit téma pro konkrétní třídu komponenty nebo vlastnost s klíčovým slovem sestávajícím z plně kvalifikovaného typu nebo názvu člena položky.

Lze IHelpService 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.

Můžete 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ž vybrané součásti nebo vlastnosti.

Protože systém nápovědy automaticky neodebere vlastní klíčová slova nápovědy, je nutné explicitně odebrat vlastní klíčové slovo, pokud už neplatí. Můžete monitorovat události definované ISelectionService rozhraním 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án, a potom odebrat atribut kontextu nápovědy, pokud výběr již komponentu neobsahuje.

Metody

Name Description
AddContextAttribute(String, String, HelpKeywordType)

Přidá do dokumentu kontextový atribut.

ClearContextAttributes()

Odebere všechny existující kontextové atributy z dokumentu.

CreateLocalContext(HelpContextType)

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

RemoveContextAttribute(String, String)

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

RemoveLocalContext(IHelpService)

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

ShowHelpFromKeyword(String)

Zobrazuje téma nápovědy odpovídající zadanému klíčovému slovu.

ShowHelpFromUrl(String)

Zobrazuje téma nápovědy odpovídající zadané adrese URL.

Platí pro

Viz také