Procedura: modificare le caratteristiche delle finestre
Aggiornamento: novembre 2007
Le finestre in Visual Studio sono rappresentate nel modello di automazione dall'oggetto Window2. Utilizzando i membri di questo oggetto è possibile modificare le caratteristiche di una finestra, ad esempio altezza, larghezza, visibilità e così via. Utilizzando l'insieme Window2 è possibile creare una finestra collegata costituita da due o più finestre degli strumenti ancorate. I relativi membri consentono inoltre di ancorare o disancorare altre finestre dalla cornice.
Nota: |
---|
Le finestre da collegare devono essere visibili. Se una delle due finestre è nascosta, viene generata un'eccezione. È possibile visualizzare le finestre utilizzando la proprietà Visible. |
L'insieme Windows2 consente inoltre di creare finestre degli strumenti personalizzate. Per ulteriori informazioni, vedere Procedura: creare e controllare finestre degli strumenti.
Nota: |
---|
Le finestre di dialogo e i comandi di menu visualizzati potrebbero non corrispondere a quelli descritti nella Guida in linea in quanto dipendono dall'edizione o dalle impostazioni attive. Queste routine sono state sviluppate con le Impostazioni generali per lo sviluppo attive. Per modificare le impostazioni, scegliere Importa/EsportaImpostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Impostazioni di Visual Studio. |
Esempio
Negli esempi riportati di seguito viene illustrato come fare riferimento ai diversi membri del modello di automazione e come utilizzarli per modificare le finestre degli strumenti. Viene creata una finestra degli strumenti collegata e vengono inserite due finestre degli strumenti di Visual Studio, ovvero Esplora soluzioni e la finestra di output collegate insieme. Viene inoltre illustrato come modificare le dimensioni delle finestre degli strumenti e come disancorarle. Per ulteriori informazioni su come eseguire il codice di esempio in un componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.
Attenzione: |
---|
L'esecuzione di questo esempio modificherà il layout attuale delle finestre degli strumenti di Visual Studio. |
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);
}
Vedere anche
Attività
Procedura: creare e controllare finestre degli strumenti
Procedura: creare un componente aggiuntivo
Procedura dettagliata: creazione di una procedura guidata
Concetti
Grafico del modello oggetto di automazione
Altre risorse
Creazione e controllo delle finestre di ambiente