IHelpService Interface
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece métodos para mostrar tópicos de Ajuda e adicionar e remover palavras-chave de Ajuda durante o design.
public interface class IHelpService
public interface IHelpService
type IHelpService = interface
Public Interface IHelpService
Exemplos
O exemplo seguinte demonstra um designer que utiliza o IHelpService para adicionar e remover atributos de contexto de Ajuda para o controlo incluído. Para usar este exemplo, compila-o para uma biblioteca de classes e adiciona uma instância do controlo a um Form. Na vista de design, selecionar o componente e pressionar F1 tenta procurar tópicos relevantes de Ajuda com base na palavra-chave ou palavras-chave de contexto atual de Ajuda. Clique com o botão direito no componente e o menu de atalho mostra comandos, incluindo dois comandos personalizados DesignerVerb chamados Add IHelpService Help Keyword e Remove IHelpService Help Keyword. Estes comandos podem ser usados para adicionar ou remover uma palavra-chave de contexto Ajuda do valor "IHelpService", que tenta levantar o IHelpService tópico quando F1 é pressionado.
#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
Observações
O ambiente de design temporal fornece um sistema de Ajuda que tenta localizar tópicos relevantes para mostrar quando um utilizador carrega em F1. O sistema de Ajuda mantém um conjunto de palavras-chave de contexto atuais que são usadas para identificar tópicos relevantes caso seja solicitado Ajuda. Por defeito, as palavras-chave estão associadas a objetos de classe selecionados e propriedades dos objetos no ambiente temporal de design. A palavra-chave padrão para um componente ou propriedade é a sua classe ou nome de propriedade totalmente qualificada. Palavras-chave específicas também estão associadas a certos modos, como quando múltiplos objetos são selecionados. Se uma coleção de Ajuda personalizada for integrada com o ambiente de design ao configurá-la para um prestador de ajuda externo, um fornecedor de documentação pode associar um tópico para uma classe ou propriedade de componente específica a uma palavra-chave que consiste no tipo totalmente qualificado do item ou no nome do membro.
Podem IHelpService ser usados para invocar o serviço de ajuda com uma palavra-chave especificada usando o ShowHelpFromKeyword método, ou para invocar um tópico de ajuda a partir de uma URL especificada usando o ShowHelpFromUrl método.
Também IHelpService podem ser usados para adicionar ou remover palavras-chave de Ajuda no momento do design. Selecionar um componente ou propriedade no momento do design define uma palavra-chave contextual padrão que consiste no tipo totalmente qualificado ou nome do membro da seleção, e remove as palavras-chave de quaisquer componentes ou propriedades previamente selecionados ou não selecionados.
Como o sistema de Ajuda não remove automaticamente palavras-chave personalizadas de Ajuda, deve remover explicitamente uma palavra-chave personalizada quando esta deixa de se aplicar. Pode monitorizar os eventos definidos pela ISelectionService interface para determinar quando uma seleção de componente muda. Com base nesses eventos, pode adicionar um atributo de contexto de Ajuda para um componente quando este for selecionado e depois remover o atributo de contexto de Ajuda quando a seleção já não inclui esse componente.
Métodos
| Name | Description |
|---|---|
| AddContextAttribute(String, String, HelpKeywordType) |
Adiciona um atributo de contexto ao documento. |
| ClearContextAttributes() |
Remove todos os atributos de contexto existentes do documento. |
| CreateLocalContext(HelpContextType) |
Cria um local IHelpService para gerir subcontextos. |
| RemoveContextAttribute(String, String) |
Remove um atributo de contexto anteriormente adicionado. |
| RemoveLocalContext(IHelpService) |
Remove um contexto criado com CreateLocalContext(HelpContextType). |
| ShowHelpFromKeyword(String) |
Mostra o tópico de Ajuda que corresponde à palavra-chave especificada. |
| ShowHelpFromUrl(String) |
Mostra o tópico de Ajuda que corresponde à URL especificada. |