IHelpService Schnittstelle

Definition

Stellt Methoden zum Anzeigen von Hilfethemen sowie zum Hinzufügen und Entfernen von Hilfeschlüsselwörtern zur Entwurfszeit bereit.

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

Beispiele

Im folgenden Beispiel wird ein Designer veranschaulicht, der verwendet, IHelpService um Hilfekontextattribute für das enthaltene Steuerelement hinzuzufügen und zu entfernen. Um dieses Beispiel zu verwenden, kompilieren Sie es in eine Klassenbibliothek, und fügen Sie eine instance des Steuerelements zu einem hinzuForm. In der Entwurfsansicht versucht das Auswählen der Komponente und drücken von F1, relevante Hilfethemen basierend auf dem aktuellen Hilfekontext Schlüsselwort (keyword) oder Schlüsselwörtern nachzuschlagen. Klicken Sie mit der rechten Maustaste auf die Komponente, und im Kontextmenü werden Befehle angezeigt, einschließlich zwei benutzerdefinierten DesignerVerb Befehlen namens Add IHelpService Help Keyword und Remove IHelpService Help Keyword. Diese Befehle können verwendet werden, um einen Hilfekontext Schlüsselwort (keyword) des Werts "IHelpService" hinzuzufügen oder zu entfernen, der versucht, das IHelpService Thema zu lösen, wenn F1 gedrückt wird.

#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

Hinweise

Die Entwurfszeitumgebung stellt ein Hilfesystem bereit, das versucht, relevante Hilfethemen zu finden, die angezeigt werden, wenn ein Benutzer F1 drückt. Das Hilfesystem verwaltet eine Reihe aktueller Kontextschlüsselwörter, die verwendet werden, um relevante Themen zu identifizieren, wenn Hilfe angefordert wird. Standardmäßig sind Schlüsselwörter ausgewählten Klassenobjekten und Eigenschaften von Objekten in der Entwurfszeitumgebung zugeordnet. Der Standard Schlüsselwort (keyword) für eine Komponente oder Eigenschaft ist der vollqualifizierte Klassen- oder Eigenschaftsname. Bestimmte Schlüsselwörter werden auch bestimmten Modi zugeordnet, z. B. wenn mehrere Objekte ausgewählt werden. Wenn eine benutzerdefinierte Hilfesammlung in die Entwurfszeitumgebung integriert ist, indem sie für einen externen Hilfeanbieter konfiguriert wird, kann ein Dokumentationsanbieter ein Thema für eine bestimmte Komponentenklasse oder Eigenschaft einem Schlüsselwort (keyword) zuordnen, der aus dem vollqualifizierten Typ oder Membernamen des Elements besteht.

Kann IHelpService verwendet werden, um den Hilfedienst mit einem angegebenen Schlüsselwort (keyword) mithilfe der ShowHelpFromKeyword -Methode aufzurufen, oder um ein Hilfethema von einer angegebenen URL mithilfe der ShowHelpFromUrl -Methode aufzurufen.

Die IHelpService kann auch zum Hinzufügen oder Entfernen von Hilfeschlüsselwörtern zur Entwurfszeit verwendet werden. Wenn Sie eine Komponente oder Eigenschaft zur Entwurfszeit auswählen, wird ein Standardkontext Schlüsselwort (keyword) festgelegt, der aus dem vollqualifizierten Typ- oder Membernamen der Auswahl besteht, und entfernt die Schlüsselwörter für alle zuvor ausgewählten und nicht mehr ausgewählten Komponenten oder Eigenschaften.

Da das Hilfesystem benutzerdefinierte Hilfeschlüsselwörter nicht automatisch entfernt, müssen Sie eine benutzerdefinierte Schlüsselwort (keyword) explizit entfernen, wenn sie nicht mehr angewendet wird. Sie können die von der ISelectionService Schnittstelle definierten Ereignisse überwachen, um zu bestimmen, wann sich eine Komponentenauswahl ändert. Basierend auf diesen Ereignissen können Sie ein Hilfekontextattribute für eine Komponente hinzufügen, wenn sie ausgewählt ist, und dann das Attribut Help context entfernen, wenn die Auswahl die Komponente nicht mehr enthält.

Methoden

AddContextAttribute(String, String, HelpKeywordType)

Fügt dem Dokument ein Kontextattribut hinzu.

ClearContextAttributes()

Entfernt alle vorhandenen Kontextattribute aus dem Dokument.

CreateLocalContext(HelpContextType)

Erstellt einen lokalen IHelpService zum Verwalten von untergeordneten Kontexten.

RemoveContextAttribute(String, String)

Entfernt ein zuvor hinzugefügtes Kontextattribut.

RemoveLocalContext(IHelpService)

Entfernt einen Kontext, der mit einem CreateLocalContext(HelpContextType) erstellt wurde.

ShowHelpFromKeyword(String)

Zeigt das Hilfethema an, das dem angegebenen Schlüsselwort entspricht.

ShowHelpFromUrl(String)

Zeigt das Hilfethema an, das der angegebenen URL entspricht.

Gilt für:

Weitere Informationen