Freigeben über


Öffnen einer Optionsseite

 

Sie können eine Optionsseite programmgesteuert anzeigen, damit Benutzer Ihres Pakets dieses während des Setups konfigurieren können. Nach der Installation des Pakets kann ein Benutzer weiterhin über das Dialogfeld Optionen auf die Optionsseite zugreifen, um Einstellungen zu ändern.

So zeigen Sie eine benutzerdefinierte Optionsseite an

  1. Erstellen einer Optionsseite Weitere Informationen finden Sie unter Optionen (Seiten) erstellen.

  2. Rufen Sie den Type der Optionsseite ab, indem Sie das typeof-Schlüsselwort auf den Namen der Klasse anwenden, die die Optionsseite definiert.

  3. Rufen Sie die ShowOptionPage-Methode mithilfe des Types der Optionsseite als Parameter ab.

    Das folgende Beispiel zeigt eine Optionsseite namens HelloWorldOptions.

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

So zeigen Sie eine von Visual Studio definierte Optionsseite an

  1. Suchen Sie im Registrierungsunterschlüssel „HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\ToolsOptionsPages\“ den Knoten der anzuzeigenden Optionsseite, die dem Wert des Page-Schlüssels entspricht.

  2. Erstellen Sie eine CommandID-Instanz, die über die Konstanten GUID_VSStandardCommandSet97 und ToolsOptions als Parameter verfügt.

    Dadurch wird das Dialogfeld Optionen angegeben.

  3. Rufen Sie die GlobalInvoke-Methode mithilfe der CommandID-Instanz sowie mit der GUID-Zeichenfolge als Parameter auf.

    Das folgende Beispiel zeigt die Registerkarte Allgemein auf der Optionsseite Text-Editor an.

    // 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)