Esporta (0) Stampa
Espandi tutto

Interfaccia IHelpService

Aggiornamento: novembre 2007

Fornisce metodi per visualizzare la Guida in linea e aggiungere e rimuovere parole chiave della Guida in fase di progettazione.

Spazio dei nomi:  System.ComponentModel.Design
Assembly:  System (in System.dll)

public interface IHelpService
public interface IHelpService
public interface IHelpService

L'ambiente della fase di progettazione fornisce una Guida in linea mediante la quale vengono individuati argomenti significativi da visualizzare quando l'utente preme F1. Questa operazione viene eseguita sulla base di un insieme di parole chiave relative al contesto corrente che vengono utilizzate per individuare gli argomenti significativi. Per impostazione predefinita, le parole chiave sono associate a oggetti di classe selezionati e a proprietà di oggetti nell'ambiente della fase di progettazione. La parola chiave predefinita relativa a un componente o a una proprietà corrisponde al nome completo della classe o della proprietà. Alcune parole chiave possono essere associate secondo particolari modalità, come nel caso di una selezione di più oggetti. Se un insieme di file della Guida personalizzato viene integrato con l'ambiente della fase di progettazione configurandolo per un provider della Guida esterno, un provider di documentazione potrà associare un argomento di una determinata classe o proprietà del componente a una parola chiave costituita dal nome completo del membro o del tipo dell'elemento.

IHelpService può essere utilizzato per richiamare il servizio della Guida con una parola chiave specificata mediante il metodo ShowHelpFromKeyword o per richiamare un argomento della Guida da un determinato URL mediante il metodo ShowHelpFromUrl.

IHelpService può essere utilizzato anche per aggiungere o rimuovere parole chiave della Guida in fase di progettazione. Se si seleziona un componente o una proprietà in fase di progettazione sarà impostata una parola chiave di contesto predefinita, composta dal nome completo del membro o del tipo della selezione, e saranno rimosse le parole chiave relative a proprietà o componenti che sono stati selezionati ma che non lo sono più.

Dal momento che la Guida in linea non consente di rimuovere automaticamente parole chiave della Guida personalizzate, è necessario rimuoverle in modo esplicito quando non vengono più utilizzate. È possibile controllare gli eventi definiti dall'interfaccia ISelectionService per determinare quando viene modificata la selezione di componenti. In base a questi eventi è possibile aggiungere un attributo di contesto della Guida relativo a un componente quando quest'ultimo viene selezionato e quindi rimuoverlo quando la selezione non include più il componente.

Nell'esempio riportato di seguito viene illustrata una finestra di progettazione in cui viene utilizzato l'oggetto IHelpService per aggiungere e rimuovere gli attributi di contesto della Guida per il controllo incluso. Per utilizzare l'esempio, compilarlo in una libreria di classi e aggiungere un'istanza del controllo a Form. In visualizzazione Progettazione è possibile selezionare il componente e premere F1 per cercare di individuare gli argomenti della Guida significativi sulla base della parola o delle parole chiave relative al contesto corrente. Fare clic con il pulsante destro del mouse sul componente per visualizzare i comandi del menu di scelta rapida, inclusi due comandi DesignerVerb personalizzati denominati Add IHelpService Help Keyword e Remove IHelpService Help Keyword. Tali comandi possono essere utilizzati per aggiungere o rimuovere una parola chiave relativa al contesto del valore "IHelpService", che tenta di visualizzare l'argomento IHelpService quando si preme F1.

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);			
        }		
    }
}


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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft