Partilhar via


Windows2.CreateLinkedWindowFrame(Window, Window, vsLinkedWindowType) Method

Definition

Creates a Window object and places two windows in it.

public:
 EnvDTE::Window ^ CreateLinkedWindowFrame(EnvDTE::Window ^ Window1, EnvDTE::Window ^ Window2, EnvDTE::vsLinkedWindowType Link);
public:
 EnvDTE::Window ^ CreateLinkedWindowFrame(EnvDTE::Window ^ Window1, EnvDTE::Window ^ Window2, EnvDTE::vsLinkedWindowType Link);
EnvDTE::Window CreateLinkedWindowFrame(EnvDTE::Window const & Window1, EnvDTE::Window const & Window2, EnvDTE::vsLinkedWindowType Link);
[System.Runtime.InteropServices.DispId(303)]
public EnvDTE.Window CreateLinkedWindowFrame (EnvDTE.Window Window1, EnvDTE.Window Window2, EnvDTE.vsLinkedWindowType Link);
[<System.Runtime.InteropServices.DispId(303)>]
abstract member CreateLinkedWindowFrame : EnvDTE.Window * EnvDTE.Window * EnvDTE.vsLinkedWindowType -> EnvDTE.Window
Public Function CreateLinkedWindowFrame (Window1 As Window, Window2 As Window, Link As vsLinkedWindowType) As Window

Parameters

Window1
Window

Required. The first Window object to link to the other.

Window2
Window

Required. The second Window object to link to the other.

Link
vsLinkedWindowType

Required. A vsLinkedWindowType constant indicating the way the windows should be joined.

Returns

A Window object.

Implements

Attributes

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.

Imports EnvDTE  
Imports EnvDTE80  
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 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);  
}  

Remarks

The order of the Window arguments determines the order of the linked windows. The two windows to be linked must be visible. If either window is hidden, you get an exception. You can use the Visible property to display windows.

Applies to