다음을 통해 공유


IHelpService 인터페이스

디자인 타임에 도움말 항목을 표시하고 도움말 키워드를 추가하고 제거하는 메서드를 제공합니다.

네임스페이스: System.ComponentModel.Design
어셈블리: System(system.dll)

구문

‘선언
Public Interface IHelpService
‘사용 방법
Dim instance As IHelpService
public interface IHelpService
public interface class IHelpService
public interface IHelpService
public interface IHelpService

설명

디자인 타임 환경에서는 사용자가 F1을 누를 때 표시할 관련 도움말 항목을 찾는 도움말 시스템을 제공합니다. 도움말 시스템에서는 도움말이 요청될 경우 관련 항목을 식별하는 데 사용되는 현재 컨텍스트 키워드의 집합을 유지합니다. 기본적으로 키워드는 디자인 타임 환경에 있는 선택된 클래스 개체 및 개체의 속성과 연결됩니다. 구성 요소나 속성에 대한 기본 키워드는 정규화된 클래스나 속성 이름입니다. 특정한 키워드는 여러 개체가 선택되는 등의 경우 특정 모드와도 연결됩니다. 외부 도움말 공급자에 대해 사용자 지정 도움말 컬렉션을 구성해서 디자인 타임 환경과 통합하는 경우, 문서 공급자는 특정한 구성 요소 클래스나 속성을 해당 항목의 정규화된 형식이나 멤버 이름으로 구성된 키워드와 연결할 수 있습니다.

IHelpServiceShowHelpFromKeyword 메서드를 사용하여 지정된 키워드로 도움말 서비스를 호출하거나 ShowHelpFromUrl 메서드를 사용하여 지정된 URL에서 도움말 항목을 호출하는 데 사용할 수 있습니다.

IHelpService를 사용하여 디자인 타임에 도움말 키워드를 추가하거나 삭제할 수도 있습니다. 디자인 타임에 구성 요소나 속성을 선택하면, 선택의 정규화된 형식이나 멤버 이름으로 구성된 기본 컨텍스트 키워드가 설정되며 이전에 선택되고 더 이상 선택되지 않는 구성 요소나 속성에 대한 키워드가 제거됩니다.

도움말 시스템에서 자동으로 사용자 지정 도움말 키워드를 제거하지 않기 때문에, 사용자 지정 키워드가 더 이상 적용되지 않는 경우 명시적으로 제거해야 합니다. ISelectionService 인터페이스에서 정의한 이벤트를 모니터링해서 구성 요소 선택이 변경되는 시기를 확인할 수 있습니다. 이러한 이벤트를 기초로, 구성 요소가 선택될 때 구성 요소에 대한 도움말 컨텍스트 특성을 추가하고 선택에서 더 이상 구성 요소가 포함되지 않을 때 도움말 컨텍스트 특성을 제거할 수 있습니다.

예제

다음 예제에서는 IHelpService를 사용하여 포함된 컨트롤의 도움말 컨텍스트 특성을 추가하고 제거하는 디자이너를 보여 줍니다. 이 샘플을 사용하려면 샘플을 클래스 라이브러리로 컴파일하고 컨트롤의 인스턴스를 Form에 추가합니다. 디자인 뷰에서 해당 구성 요소를 선택하고 F1 키를 누르면 현재 도움말 컨텍스트 키워드에 따라 관련된 도움말 항목이 검색됩니다. 구성 요소를 마우스 오른쪽 단추로 누르면 바로 가기 메뉴에 Add IHelpService Help KeywordRemove IHelpService Help Keyword라는 두 가지 사용자 지정 DesignerVerb가 포함된 명령이 표시됩니다. 이러한 명령을 사용하여 F1 키를 누르면 IHelpService 항목을 발생시키는 "IHelpService" 값의 도움말 컨텍스트 키워드를 추가하거나 제거할 수 있습니다.

Imports System
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 'New

        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 'addKeyword

        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 'removeKeyword
    End Class 'HelpDesigner

    <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 'New

        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 'OnPaint
    End Class 'HelpTestControl
End Namespace 'IHelpServiceSample
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);         
        }       
    }
}
#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 );
   }
};
package IHelpServiceSample; 
import System.*;
import System.ComponentModel.*;
import System.ComponentModel.Design.*;
import System.Drawing.*;
import System.IO.*;
import System.Windows.Forms.*;
import System.Windows.Forms.Design.*;

public class HelpDesigner extends System.Windows.Forms.Design.ControlDesigner
{
    public HelpDesigner()
    {
    } //HelpDesigner

    /** @property 
     */
    public System.ComponentModel.Design.DesignerVerbCollection get_Verbs()
    {
        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)) });
    } //get_Verbs

    private void AddKeyword(Object sender, EventArgs e)
    {
        IHelpService hs = (IHelpService)(this.get_Control().get_Site().
            GetService(IHelpService.class.ToType()));
        hs.AddContextAttribute("keyword", "IHelpService", 
            HelpKeywordType.F1Keyword);
    } //AddKeyword

    private void RemoveKeyword(Object sender, EventArgs e)
    {
        IHelpService hs = (IHelpService)(this.get_Control().get_Site().
            GetService(IHelpService.class.ToType()));
        hs.RemoveContextAttribute("keyword", "IHelpService");
    } //RemoveKeyword
} //HelpDesigner

/** @attribute Designer(HelpDesigner.class)
 */
public class HelpTestControl extends System.Windows.Forms.UserControl
{
    public HelpTestControl()
    {
        this.set_Size(new Size(320, 100));
        this.set_BackColor(Color.get_White());
    } //HelpTestControl

    protected void OnPaint(System.Windows.Forms.PaintEventArgs e)
    {
        Brush brush = new SolidBrush(Color.get_Blue());

        e.get_Graphics().DrawString("IHelpService Example Designer Control",
            new Font(FontFamily.get_GenericMonospace(), 10), brush, 5, 5);
        e.get_Graphics().DrawString("Right-click this component for", 
            new Font(FontFamily.get_GenericMonospace(), 8), brush, 5, 25);
        e.get_Graphics().DrawString("add/remove Help context keyword commands.",
            new Font(FontFamily.get_GenericMonospace(), 8), brush, 5, 35);
        e.get_Graphics().DrawString("Press F1 while this component is", 
            new Font(FontFamily.get_GenericMonospace(), 8), brush, 5, 55);
        e.get_Graphics().DrawString("selected to raise Help topics for", 
            new Font(FontFamily.get_GenericMonospace(), 8), brush, 5, 65);
        e.get_Graphics().DrawString("the current keyword or keywords", 
            new Font(FontFamily.get_GenericMonospace(), 8), brush, 5, 75);
    } //OnPaint
} //HelpTestControl

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

IHelpService 멤버
System.ComponentModel.Design 네임스페이스
HelpKeywordType 열거형
HelpContextType 열거형