IHelpService Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje metody zobrazení témat nápovědy a přidávání a odebírání klíčových slov nápovědy v době návrhu.
public interface class IHelpService
public interface IHelpService
type IHelpService = interface
Public Interface IHelpService
Příklady
Následující příklad ukazuje návrhář, který používá IHelpService k přidání a odebrání kontextových atributů nápovědy pro zahrnutý ovládací prvek. Chcete-li použít tuto ukázku, zkompilujte ji do knihovny tříd a přidejte instanci ovládacího prvku do objektu Form. V návrhovém zobrazení vyberete komponentu a stisknutím klávesy F1 se pokusíte vyhledat relevantní témata nápovědy na základě aktuálního klíčového slova nebo klíčových slov kontextu nápovědy. Klikněte pravým tlačítkem myši na komponentu a místní nabídka zobrazí příkazy, včetně dvou vlastních DesignerVerb příkazů pojmenovaných Add IHelpService Help Keyword a Remove IHelpService Help Keyword. Tyto příkazy lze použít k přidání nebo odebrání klíčového slova kontextu nápovědy hodnoty "IHelpService", která se pokusí vyvolat téma při stisknutí klávesy IHelpService F1.
#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
Poznámky
Prostředí v době návrhu poskytuje systém nápovědy, který se pokusí vyhledat relevantní témata nápovědy, která se zobrazí, když uživatel stiskne klávesu F1. Systém nápovědy udržuje sadu aktuálních kontextových klíčových slov, která slouží k identifikaci relevantních témat, pokud je požadována nápověda. Ve výchozím nastavení jsou klíčová slova přidružená k vybraným objektům třídy a vlastnostem objektů v prostředí doby návrhu. Výchozí klíčové slovo pro komponentu nebo vlastnost je jeho plně kvalifikovaný název třídy nebo vlastnosti. Konkrétní klíčová slova jsou také přidružena k určitým režimům, například při výběru více objektů. Pokud je vlastní kolekce nápovědy integrovaná s prostředím návrhu tak, že ji nakonfigurujete pro externího zprostředkovatele nápovědy, může poskytovatel dokumentace přidružit téma pro konkrétní třídu komponenty nebo vlastnost s klíčovým slovem sestávajícím z plně kvalifikovaného typu nebo názvu člena položky.
Lze IHelpService použít k vyvolání služby nápovědy pomocí zadaného klíčového slova pomocí ShowHelpFromKeyword metody nebo k vyvolání tématu nápovědy ze zadané adresy URL pomocí ShowHelpFromUrl metody.
Můžete IHelpService také použít k přidání nebo odebrání klíčových slov nápovědy v době návrhu. Při výběru komponenty nebo vlastnosti v době návrhu se nastaví výchozí kontextové klíčové slovo, které se skládá z plně kvalifikovaného typu nebo názvu člena výběru, a odebere klíčová slova pro všechny dříve vybrané a již vybrané součásti nebo vlastnosti.
Protože systém nápovědy automaticky neodebere vlastní klíčová slova nápovědy, je nutné explicitně odebrat vlastní klíčové slovo, pokud už neplatí. Můžete monitorovat události definované ISelectionService rozhraním a určit, kdy se změní výběr komponenty. Na základě těchto událostí můžete přidat atribut kontextu nápovědy pro komponentu, když je vybrán, a potom odebrat atribut kontextu nápovědy, pokud výběr již komponentu neobsahuje.
Metody
| Name | Description |
|---|---|
| AddContextAttribute(String, String, HelpKeywordType) |
Přidá do dokumentu kontextový atribut. |
| ClearContextAttributes() |
Odebere všechny existující kontextové atributy z dokumentu. |
| CreateLocalContext(HelpContextType) |
Vytvoří místní IHelpService pro správu podkontextů. |
| RemoveContextAttribute(String, String) |
Odebere dříve přidaný kontextový atribut. |
| RemoveLocalContext(IHelpService) |
Odebere kontext vytvořený pomocí CreateLocalContext(HelpContextType). |
| ShowHelpFromKeyword(String) |
Zobrazuje téma nápovědy odpovídající zadanému klíčovému slovu. |
| ShowHelpFromUrl(String) |
Zobrazuje téma nápovědy odpovídající zadané adrese URL. |