Поделиться через


Открытие страницы параметров

 

Страницу параметров можно отобразить программными средствами, чтобы пользователи вашего пакета могли ее настроить во время установки. Чтобы изменить параметры после установки пакета, пользователь по-прежнему может открыть страницу параметров с помощью диалогового окна Параметры.

Отображение страницы настраиваемых параметров

  1. Создайте страницу параметров. Для получения дополнительной информации см. Создание страницы параметров.

  2. Получите Type страницы параметров, применив ключевое слово typeof к имени класса, определяющего страницу параметров.

  3. Вызовите метод ShowOptionPage, используя в качестве параметра тип Type страницы параметров.

    В следующем примере отображается страница параметров с именем HelloWorldOptions.

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

Отображение страницы параметров, определенной в Visual Studio

  1. В подразделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\ToolsOptionsPages\ найдите узел для страницы параметров, которую требуется отобразить, и скопируйте ее идентификатор GUID, который является значением ключа Page.

  2. Создайте экземпляр CommandID, имеющий константы GUID_VSStandardCommandSet97 и ToolsOptions в качестве параметров.

    Таким образом задается диалоговое окно Параметры.

  3. Вызовите метод GlobalInvoke, используя в качестве параметров экземпляр CommandID и строку идентификатора GUID.

    В следующем примере отображается вкладка Общие страницы параметров Текстового редактора.

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