Bagikan melalui


IHelpService Antarmuka

Definisi

Menyediakan metode untuk menampilkan topik Bantuan dan menambahkan dan menghapus kata kunci Bantuan pada waktu desain.

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

Contoh

Contoh berikut menunjukkan perancang yang menggunakan IHelpService untuk menambahkan dan menghapus atribut konteks Bantuan untuk kontrol yang disertakan. Untuk menggunakan sampel ini, kompilasi ke pustaka kelas dan tambahkan instans kontrol ke Form. Dalam tampilan desain, memilih komponen dan menekan F1 mencoba mencari topik Bantuan yang relevan berdasarkan kata kunci atau kata kunci konteks Bantuan saat ini. Klik kanan komponen dan menu pintasan menampilkan perintah, termasuk dua perintah kustom DesignerVerb bernama Add IHelpService Help Keyword dan Remove IHelpService Help Keyword. Perintah ini dapat digunakan untuk menambahkan atau menghapus kata kunci konteks Bantuan dari nilai "IHelpService", yang mencoba menaikkan IHelpService topik saat F1 ditekan.

#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

Keterangan

Lingkungan waktu desain menyediakan sistem Bantuan yang mencoba menemukan topik Bantuan yang relevan untuk ditampilkan saat pengguna menekan F1. Sistem Bantuan mempertahankan sekumpulan kata kunci konteks saat ini yang digunakan untuk mengidentifikasi topik yang relevan jika Bantuan diminta. Secara default, kata kunci dikaitkan dengan objek kelas yang dipilih dan properti objek di lingkungan waktu desain. Kata kunci default untuk komponen atau properti adalah kelas atau nama properti yang sepenuhnya memenuhi syarat. Kata kunci tertentu juga dikaitkan dengan mode tertentu, seperti ketika beberapa objek dipilih. Jika kumpulan Bantuan kustom terintegrasi dengan lingkungan waktu desain dengan mengonfigurasinya untuk penyedia bantuan eksternal, penyedia dokumentasi dapat mengaitkan topik untuk kelas komponen atau properti tertentu dengan kata kunci yang terdiri dari jenis item yang sepenuhnya memenuhi syarat atau nama anggota.

IHelpService dapat digunakan untuk memanggil layanan bantuan dengan kata kunci tertentu menggunakan ShowHelpFromKeyword metode , atau untuk memanggil topik bantuan dari URL tertentu menggunakan ShowHelpFromUrl metode .

IHelpService juga dapat digunakan untuk menambahkan atau menghapus kata kunci Bantuan pada waktu desain. Memilih komponen atau properti pada waktu desain menetapkan kata kunci konteks default yang terdiri dari jenis atau nama anggota pilihan yang sepenuhnya memenuhi syarat, dan menghapus kata kunci untuk komponen atau properti yang dipilih sebelumnya dan tidak lagi dipilih.

Karena sistem Bantuan tidak secara otomatis menghapus kata kunci Bantuan kustom, Anda harus secara eksplisit menghapus kata kunci kustom saat tidak lagi berlaku. Anda dapat memantau peristiwa yang ditentukan oleh ISelectionService antarmuka untuk menentukan kapan pilihan komponen berubah. Berdasarkan peristiwa tersebut, Anda dapat menambahkan atribut konteks Bantuan untuk komponen saat dipilih lalu menghapus atribut konteks Bantuan saat pilihan tidak lagi menyertakan komponen.

Metode

AddContextAttribute(String, String, HelpKeywordType)

Menambahkan atribut konteks ke dokumen.

ClearContextAttributes()

Menghapus semua atribut konteks yang ada dari dokumen.

CreateLocalContext(HelpContextType)

Membuat lokal IHelpService untuk mengelola subkonteks.

RemoveContextAttribute(String, String)

Menghapus atribut konteks yang ditambahkan sebelumnya.

RemoveLocalContext(IHelpService)

Menghapus konteks yang dibuat dengan CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Memperlihatkan topik Bantuan yang sesuai dengan kata kunci yang ditentukan.

ShowHelpFromUrl(String)

Memperlihatkan topik Bantuan yang sesuai dengan URL yang ditentukan.

Berlaku untuk

Lihat juga