IHelpService Интерфейс

Определение

Предоставляет методы для отображения разделов справки, а также для добавления и удаления зарезервированных слов справки во время разработки.Provides methods for showing Help topics and adding and removing Help keywords at design time.

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

Примеры

В следующем примере демонстрируется конструктор, который использует IHelpService для добавления и удаления атрибутов контекста справки для включаемого элемента управления.The following example demonstrates a designer that uses the IHelpService to add and remove Help context attributes for the included control. Чтобы использовать этот пример, скомпилируйте его в библиотеку классов и добавьте экземпляр элемента управления в Form.To use this sample, compile it to a class library and add an instance of the control to a Form. В режиме конструктора выберите компонент и нажмите клавишу F1, чтобы найти соответствующие разделы справки, основанные на ключевом слове или ключевых словах текущего контекста справки.In design view, selecting the component and pressing F1 attempts to look up relevant Help topics based on the current Help context keyword or keywords. Щелкните правой кнопкой мыши компонент, а затем в контекстном меню выводятся команды, в том числе две пользовательские команды DesignerVerb с именами Add IHelpService Help Keyword и Remove IHelpService Help Keyword.Right-click the component and the shortcut menu displays commands, including two custom DesignerVerb commands named Add IHelpService Help Keyword and Remove IHelpService Help Keyword. Эти команды можно использовать для добавления или удаления ключевого слова контекста справки со значением "Ихелпсервице", которое пытается вызвать IHelpService раздел при нажатии клавиши F1.These commands can be used to add or remove a Help context keyword of the value "IHelpService", which attempts to raise the IHelpService topic when F1 is pressed.

#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

Комментарии

Среда времени разработки предоставляет справочную систему, которая пытается разместить соответствующие разделы справки, которые отображаются при нажатии пользователем клавиши F1.The design-time environment provides a Help system that attempts to locate relevant Help topics to display when a user presses F1. Справочная система поддерживает набор ключевых слов текущего контекста, которые используются для выявления соответствующих разделов при запросе справки.The Help system maintains a set of current context keywords that are used to identify relevant topics if Help is requested. По умолчанию ключевые слова связаны с выбранными объектами класса и свойствами объектов в среде времени разработки.By default, keywords are associated with selected class objects and properties of objects in the design time environment. Ключевым словом по умолчанию для компонента или свойства является полное имя класса или свойства.The default keyword for a component or property is its fully qualified class or property name. Определенные ключевые слова также связаны с определенными режимами, например при выборе нескольких объектов.Specific keywords are also associated with certain modes, such as when multiple objects are selected. Если пользовательский набор разделов справки интегрирован с средой времени разработки путем его настройки для внешнего поставщика справки, поставщик документации может связать раздел для определенного класса или свойства компонента с ключевым словом, содержащим полностью полное имя типа или члена.If a custom Help collection is integrated with the design-time environment by configuring it for an external help provider, a documentation provider can associate a topic for a specific component class or property with a keyword consisting of the item's fully qualified type or member name.

IHelpService можно использовать для вызова службы справки с указанным ключевым словом с помощью метода ShowHelpFromKeyword или для вызова раздела справки из указанного URL-адреса с помощью метода ShowHelpFromUrl.The IHelpService can be used to invoke the help service with a specified keyword using the ShowHelpFromKeyword method, or to invoke a help topic from a specified URL using the ShowHelpFromUrl method.

IHelpService также можно использовать для добавления или удаления ключевых слов справки во время разработки.The IHelpService can also be used to add or remove Help keywords at design time. При выборе компонента или свойства во время разработки задается ключевое слово контекста по умолчанию, состоящее из полного имени типа или элемента для выбора, и удаляются ключевые слова для всех ранее выбранных и больше не выбранных компонентов или свойств.Selecting a component or property at design time sets a default context keyword consisting of the fully qualified type or member name of the selection, and removes the keywords for any previously selected and no longer selected components or properties.

Поскольку справочная система не удаляет пользовательские ключевые слова справки автоматически, необходимо явно удалить пользовательское ключевое слово, если оно больше не применяется.Because the Help system does not automatically remove custom Help keywords, you must explicitly remove a custom keyword when it no longer applies. Можно отслеживать события, определенные интерфейсом ISelectionService, чтобы определить, когда изменяется выбор компонента.You can monitor the events defined by the ISelectionService interface to determine when a component selection changes. На основе этих событий можно добавить атрибут контекста справки для компонента, если он выбран, а затем удалить атрибут контекста справки, если выделение больше не включает компонент.Based on those events, you can add a Help context attribute for a component when it is selected and then remove the Help context attribute when the selection no longer includes the component.

Методы

AddContextAttribute(String, String, HelpKeywordType)

Добавляет в документ атрибут контекста.Adds a context attribute to the document.

ClearContextAttributes()

Удаляет из документа все существующие атрибуты контекста.Removes all existing context attributes from the document.

CreateLocalContext(HelpContextType)

Создает локальный класс IHelpService для управления вложенными контекстами.Creates a local IHelpService to manage subcontexts.

RemoveContextAttribute(String, String)

Удаляет ранее добавленный атрибут контекста.Removes a previously added context attribute.

RemoveLocalContext(IHelpService)

Удаляет контекст, созданный с помощью метода CreateLocalContext(HelpContextType).Removes a context created with CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Отображает раздел справки, соответствующий указанному ключевому слову.Shows the Help topic that corresponds to the specified keyword.

ShowHelpFromUrl(String)

Отображает раздел справки, соответствующий указанному URL-адресу.Shows the Help topic that corresponds to the specified URL.

Применяется к

Дополнительно