This documentation is archived and is not being maintained.

Window2 Interface

The Window object represents a window in the environment.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

[GuidAttribute("25731932-3283-4AE0-B7CF-F4691B8BE523")]
public interface Window2 : Window

The Window2 type exposes the following members.

  NameDescription
Public propertyAutoHidesGets or sets whether the tool window is able to be hidden.
Public propertyCaptionGets or sets the title of the window.
Public propertyCollectionGets the collection containing the Window object supporting this property.
Public propertyCommandBarsGets a collection of Microsoft.VisualStudio.CommandBars contained in the current window.
Public propertyContextAttributesGets a ContextAttributes collection which allows automation clients to add new attributes to the current, selected items in the Dynamic Help window and provide contextual help for additional attributes.
Public propertyDocumentGets the Document object associated with the item, if one exists.
Public propertyDocumentDataInfrastructure. Microsoft Internal Use Only.
Public propertyDTEGets the top-level extensibility object.
Public propertyHeightGets or sets a value indicating the dimensions of the window in pixels.
Public propertyHWndInfrastructure. Microsoft Internal Use Only.
Public propertyIsFloatingGets or sets a value indicating whether the tool window floats over other windows.
Public propertyKindInfrastructure. Microsoft Internal Use Only.
Public propertyLeftGets or sets the horizontal distance between the internal left edge of an object and the left edge of its container.
Public propertyLinkableGets or sets a value indicating whether the tool window can be docked with other tool windows.
Public propertyLinkedWindowFrameGets a Window object representing the window frame containing the window.
Public propertyLinkedWindowsGets a collection of all linked windows contained in the linked window frame.
Public propertyObjectGets an object that can be accessed by name at run time.
Public propertyObjectKindGets the type of the Window.Object object, which is a GUID string representing the tool contained in the window.
Public propertyProjectGets the Project object associated with the Window object.
Public propertyProjectItemGets the ProjectItem object associated with the Window object.
Public propertySelectionGets an object representing the current selection on the Window object.
Public propertyTopGets or sets the vertical distance between the internal top edge of an object and the top edge of its container.
Public propertyTypeInfrastructure. Microsoft Internal Use Only.
Public propertyVisibleGets or sets the visibility of a window.
Public propertyWidthGets or sets the width of the window in character units.
Public propertyWindowStateGets or sets the state of the window, whether it is minimized, normal, and so forth.
Top

  NameDescription
Public methodActivateMoves the focus to the current item.
Public methodAttachInfrastructure. Microsoft Internal Use Only.
Public methodCloseCloses the open document and optionally saves it, or closes and destroys the window.
Public methodDetachInfrastructure. Microsoft Internal Use Only.
Public methodSetFocusInfrastructure. Microsoft Internal Use Only.
Public methodSetKindInfrastructure. Microsoft Internal Use Only.
Public methodSetSelectionContainerAllows setting objects to be active in the Properties Window when this window is active.
Public methodSetTabPictureLoads a bitmap into a tabbed picture on a tab-linked tool window.
Top

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 on how to run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.

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);
}
Show: