Procedura: modificare le caratteristiche delle finestre
Le finestre di 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
È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Queste procedure sono state sviluppate con le Impostazioni generali per lo sviluppo attive. Per modificare le impostazioni, scegliere Importa/Esporta Impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.
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, vale a dire Esplora soluzioni e la finestra Output, collegandole una con l'altra. Viene inoltre illustrato come modificare le dimensioni delle finestre degli strumenti e come disancorarle. Prima di eseguire questo codice, assicurarsi che la proprietà "Incorpora tipi di interoperabilità" del riferimento all'assembly EnvDTE sia impostata su False. 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 a oggetti di automazione
Altre risorse
Creazione e controllo delle finestre di ambiente