Como: alterar as características da janela
Janelas em Visual Studio são representados no modelo de automação, a Window2 objeto.Por meio de 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 encaixados.Seus membros também permitem janelas adicionais para encaixar ou desencaixar as janelas adicionais do quadro.
Observação |
---|
Os windows a ser vinculado devem estar visíveis.Se uma das janelas 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 suas próprias janelas de ferramentas.Para obter mais informações, consulte Como: criar e controlar janelas de ferramentas.
Observaçã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 Exportarconfigurações sobre o Ferramentas menu.Para obter mais informações, consulte Configurações de Visual Studio. |
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.Elas criam uma janela de ferramenta vinculadas e inserir dois Visual Studio ferramenta windows, ou seja, Solution Explorer e o saída janela, vinculá-los juntos.Eles também mostram como dimensionar e desencaixe janelas de ferramentas.Antes de executar esse código, certifique-se de que a propriedade "Incorporar tipos de interoperabilidade" do assembly EnvDTE referência como False. Para obter mais informações sobre como executar o código de exemplo em um Add-in, consulte Como: compilar e executar os exemplos de código de modelo de objeto de automação.
Cuidado |
---|
Executar este exemplo irá alterar sua 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
Como: criar e controlar janelas de ferramentas
Passo a passo: Criando um assistente
Conceitos
Gráfico de modelo de objeto de automação
Outros recursos
Criar e controlar o ambiente Windows