Windows2 Interface
The Windows collection contains all windows in the environment.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
<GuidAttribute("31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")> _
Public Interface Windows2 _
Inherits Windows
[GuidAttribute("31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")]
public interface Windows2 : Windows
[GuidAttribute(L"31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")]
public interface class Windows2 : Windows
[<GuidAttribute("31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")>]
type Windows2 =
interface
interface Windows
end
public interface Windows2 extends Windows
The Windows2 type exposes the following members.
Properties
Name | Description | |
---|---|---|
Count | Gets a value indicating the number of objects in the Windows2 collection. | |
DTE | Gets the top-level extensibility object. | |
Parent | Gets the immediate parent object of a Windows2 collection. |
Top
Methods
Name | Description | |
---|---|---|
CreateLinkedWindowFrame | Creates a Window object and places two windows in it. | |
CreateToolWindow | Creates a new tool window containing the specified Document object or ActiveX control. | |
CreateToolWindow2 | Creates a new tool window and hosts a user-defined, .NET control in it. | |
GetEnumerator | Gets an enumeration for items in a collection. | |
Item | Returns an indexed member of a Windows collection. |
Top
Examples
This example links together the Output Window, the Command Window, and Solution Explorer. It then manipulates the width and height of these linked windows, and it finally undocks them all from the linked window frame.
For more information about how to run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.
Imports EnvDTE
Imports EnvDTE80
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)
LinkedWindowsExample(_applicationObject)
End Sub
Sub LinkedWindowsExample(ByVal dte As DTE2)
Dim Frame As Window2
Dim wins As Windows2
wins = CType(_applicationObject.Windows, EnvDTE80.Windows2)
Dim w1 As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindSolutionExplorer), EnvDTE80.Window2)
Dim w2 As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindOutput), EnvDTE80.Window2)
Dim w3 As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindCommandWindow), EnvDTE80.Window2)
' Create a linked window frame and dock Solution Explorer
' and the Ouput window together inside it.
Frame = CType(wins.CreateLinkedWindowFrame _
(w1, w2, vsLinkedWindowType.vsLinkedWindowTypeDocked), _
EnvDTE80.Window2)
MsgBox("Total number of windows in the linked window frame: " _
& Frame.LinkedWindows.Count)
' Add another tool window, the Command window, to the frame with
' the other two.
Frame.LinkedWindows.Add(w3)
MsgBox("Total number of windows in the linked window frame: " _
& Frame.LinkedWindows.Count)
' Resize the entire linked window frame.
Frame.Width = 500
Frame.Height = 600
MsgBox("Frame height and width changed. Now changing _
Command window height.")
' Resize the height of the Command window.
Frame.LinkedWindows.Item(3).Height = 800
MsgBox("Now undocking the Command window from the frame.")
' Undock the Command window from the frame.
Frame.LinkedWindows.Remove(w3)
MsgBox("Now undocking the rest of the windows from the frame.")
Frame.LinkedWindows.Remove(w2)
Frame.LinkedWindows.Remove(w1)
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
LinkedWindowsExample(_applicationObject);
}
public void LinkedWindowsExample(DTE2 dte)
{
Window2 Frame;
Windows2 wins;
wins = (EnvDTE80.Windows2)_applicationObject.Windows;
Window2 w1 =
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindSolutionExplorer);
Window2 w2 =
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindOutput);
Window2 w3 =
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindCommandWindow);
// Create a linked window frame and dock Solution Explorer
// and the Output window together inside it.
Frame = (EnvDTE80.Window2)wins.CreateLinkedWindowFrame
(w1, w2, vsLinkedWindowType.vsLinkedWindowTypeDocked);
MessageBox.Show("Total number of windows in the linked
window frame: " + Frame.LinkedWindows.Count);
// Add another tool window, the Command window, to the frame with
// the other two.
Frame.LinkedWindows.Add(w3);
MessageBox.Show("Total number of windows in the linked
window frame: " + Frame.LinkedWindows.Count);
// Resize the entire linked window frame.
Frame.Width = 500;
Frame.Height = 600;
MessageBox.Show("Frame height and width changed.
Now changing Command window height.");
// Resize the height of the Command window.
Frame.LinkedWindows.Item(3).Height = 800;
MessageBox.Show("Now undocking the Command window from
the frame.");
// Undock the Command window from the frame.
Frame.LinkedWindows.Remove(w3);
MessageBox.Show("Now undocking the rest of the windows
from the frame.");
Frame.LinkedWindows.Remove(w2);
Frame.LinkedWindows.Remove(w1);
}
See Also
Reference
Other Resources
How to: Compile and Run the Automation Object Model Code Examples