Partager via


Ouverture d’une page d’options

 

Vous pouvez afficher une page d’options par programmation pour que les utilisateurs de votre package puissent le configurer pendant l’installation. Un utilisateur peut toujours accéder à la page d’options à l’aide de la boîte de dialogue Options pour modifier les paramètres une fois le package installé.

Pour afficher une page d’options personnalisée

  1. Créez une page d’options. Pour plus d'informations, consultez Création de Pages d'Options.

  2. Obtenez le Type de la page d’options en appliquant le mot clé typeof au nom de la classe qui définit la page d’options.

  3. Appelez la méthode ShowOptionPage à l’aide du Type de la page d’options en tant que paramètre.

    L’exemple suivant affiche une page d’options nommée HelloWorldOptions.

    Type optionsPageType = typeof(HelloWorldOptions);
    ShowOptionPage(optionsPageType);
    
    Dim optionsPageType As Type = GetType(HelloWorldOptions)
    

Pour afficher une page d’options définie par Visual Studio

  1. Dans la sous-clé de Registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\ToolsOptionsPages\, recherchez le nœud de la page d’options que vous voulez afficher, puis copiez son GUID, qui est la valeur de la clé de page.

  2. Créez une instance CommandID qui accepte les constantes GUID_VSStandardCommandSet97 et ToolsOptions en tant que paramètres.

    Cette opération spécifie la boîte de dialogue Options.

  3. Appelez la méthode GlobalInvoke à l’aide de l’instance CommandID et de la chaîne du GUID en tant que paramètres.

    L’exemple suivant affiche l’onglet Général de la page d’options de l’Éditeur de texte.

    // GUID of Options>TextEditor>General
    string targetGUID = "734A5DE2-DEBA-11d0-A6D0-00C04FB67F6A";
    var command = new CommandID(
        VSConstants.GUID_VSStandardCommandSet97, 
        VSConstants.cmdidToolsOptions);
    var mcs = GetService(typeof(IMenuCommandService)) 
        as MenuCommandService;
    mcs.GlobalInvoke(command, targetGUID);
    
    ' GUID of Options>TextEditor>General 
    Dim targetGUID As String = "734A5DE2-DEBA-11d0-A6D0-00C04FB67F6A"
    Dim command = New CommandID(VSConstants.GUID_VSStandardCommandSet97, VSConstants.cmdidToolsOptions)
    Dim mcs = TryCast(GetService(GetType(IMenuCommandService)), MenuCommandService)