Partilhar via


How to: Alterar Características da janela

Janelas em Visual Studio são representados no modelo de automação, a Window2 objeto. Usando os seus membros, você pode manipular as características de uma janela, como, por exemplo, sua largura, altura, visibilidade e assim por diante. Usando o Window2 coleção, você pode criar uma janela vinculada, o que é composta de dois ou mais janelas de ferramenta é ancorada juntos. Seus membros também permitem que você ancorar janelas adicionais para ou desencaixar as janelas adicionais do quadro.

ObservaçãoObservação

Os windows a ser vinculado devem estar visíveis. Se uma janela estiver oculta, você obtém uma exceção. Você pode exibir o windows usando o Visible propriedade.

O Windows2 coleção também permite que você crie sua própria ferramenta do windows. Para obter mais informações, consulte How to: Criar e controlar ferramenta Windows.

ObservaçãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Esses procedimentos foram desenvolvidos com o General Development Settings ativo. Para alterar as configurações, escolha importação e Exportar configurações sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações.

Exemplo

Os exemplos a seguir demonstram como referência e usar os vários membros do modelo de automação para manipular janelas de ferramentas. Eles criar uma janela de ferramenta vinculadas e inserir dois Visual Studio ferramenta windows, ou seja, Solution Explorer e o saída janela, vinculá-los juntos. Elas também mostram como tamanho e desencaixar as janelas de ferramentas. Antes de executar esse código, certifique-se de que o "incorporar Interop tipos" propriedade de referência do assembly EnvDTE como False. Para obter mais informações sobre como executar o código de exemplo em um suplemento, consulte How to: Compilar e executar os exemplos de código de modelo de objeto de automação.

Aviso

Executar este exemplo alterará o seu atual Visual Studio layout de janela de ferramenta.

Public Sub OnConnection(ByVal application As Object, ByVal _
  connectMode As ext_ConnectMode, ByVal addInInst As Object, _
  ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    chgWindow(_applicationObject)
End Sub

Public Sub chgWindow(ByVal dte As DTE2)
    ' Create variables for the various tool windows.
    Dim winFrame As EnvDTE80.Window2
    Dim win1 As Window = _
      dte.Windows.Item(Constants.vsWindowKindSolutionExplorer)
    Dim win2 As Window = dte.Windows. _
    Item(Constants.vsWindowKindOutput)
    Dim win3 As Window = dte.Windows. _
    Item(Constants.vsWindowKindCommandWindow)

    ' Create a linked window frame and dock Solution 
    ' Explorer and the Ouput window together inside it.
    winFrame = CType(dte.Windows.CreateLinkedWindowFrame(win1, win2, _
      vsLinkedWindowType.vsLinkedWindowTypeDocked), Window2)
    MsgBox("Total number of windows in the linked window frame: " & _
    winFrame.LinkedWindows.Count)

    ' Add another tool window, the Command window, to the frame 
    ' with the other two.
    winFrame.LinkedWindows.Add(win3)
    MsgBox("Total number of windows in the linked window frame: " & _
    winFrame.LinkedWindows.Count)

    ' Resize the entire linked window frame.
    winFrame.Width = 500
    winFrame.Height = 600
    MsgBox("Frame height and width changed. Now changing Command _
      window height.")

    ' Resize the height of the Command window.
    winFrame.LinkedWindows.Item(3).Height = 800
    MsgBox("Now undocking the Command window from the frame.")

    ' Undock the Command window from the frame.
    winFrame.LinkedWindows.Remove(win3)
End Sub
public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    chgWindow(_applicationObject);
}

public void chgWindow(DTE2 dte)
{
    // Create variables for the various tool windows.
    EnvDTE80.Window2 winFrame;
    Window win1 = 
      dte.Windows.Item(Constants.vsWindowKindSolutionExplorer);
    Window win2 = dte.Windows.Item(Constants.vsWindowKindOutput);
    Window win3 = 
      dte.Windows.Item(Constants.vsWindowKindCommandWindow);

    // Create a linked window frame and dock Solution 
    // Explorer and the Ouput window together inside it.
    winFrame = (Window2)dte.Windows.CreateLinkedWindowFrame(win1, win2, 
      vsLinkedWindowType.vsLinkedWindowTypeDocked);
    System.Windows.Forms.MessageBox.Show("Total number of windows in 
      the linked window frame: " + winFrame.LinkedWindows.Count);

    // Add another tool window, the Command window, to the frame 
    // with the other two.
    winFrame.LinkedWindows.Add(win3);
    System.Windows.Forms.MessageBox.Show(
      "Total number of windows in the linked window frame: " + 
      winFrame.LinkedWindows.Count);

    // Resize the entire linked window frame.
    winFrame.Width = 500;
    winFrame.Height = 600;
    System.Windows.Forms.MessageBox.Show(
      "Frame height and width changed." +
      "Now changing Command window height.");

    // Resize the height of the Command window.
    winFrame.LinkedWindows.Item(3).Height = 800;
    System.Windows.Forms.MessageBox.Show(
      "Now undocking the Command window from the frame.");

    // Undock the Command window from the frame.
    winFrame.LinkedWindows.Remove(win3);
}

Consulte também

Tarefas

How to: Criar e controlar ferramenta Windows

How to: Criar um Adicionar-

Walkthrough: Criando um assistente

Conceitos

Automation Object Model Chart

Outros recursos

Criar e controlar o ambiente Windows

Criação de assistentes e ins Adicionar-

Automation and Extensibility Reference