Поделиться через


Window2.LinkedWindows - свойство

Возвращает коллекцию всех связанных окон, которые содержатся в связанном фрейме окна.

Пространство имен:  EnvDTE80
Сборка:  EnvDTE80 (в EnvDTE80.dll)

Синтаксис

'Декларация
ReadOnly Property LinkedWindows As LinkedWindows
LinkedWindows LinkedWindows { get; }
property LinkedWindows^ LinkedWindows {
    LinkedWindows^ get ();
}
abstract LinkedWindows : LinkedWindows
function get LinkedWindows () : LinkedWindows

Значение свойства

Тип: EnvDTE.LinkedWindows
Коллекция LinkedWindows.

Заметки

Только у окон, связанных с другими окнами, есть коллекция LinkedWindows.Для других несвязанных окон LinkedWindows имеет значение Nothing.

Примеры

В этом примере создается связанный фрейм окна, в него добавляются Окно вывода, Обозреватель решений и Окно команд в виде прикрепленных окон, изменяются размеры связанного фрейма окна, и потом окна открепляются от фрейма.

Дополнительные сведения о запуске этого примера в виде надстройки см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.

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 w1 As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindSolutionExplorer), Window2)
    Dim w2 As Window2 = _
 CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindOutput), Window2)
    Dim w3 As Window2 = _
 CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindCommandWindow), Window2)
    ' Create a linked window frame and dock Solution Explorer 
    'and the Ouput window together inside it.
    Frame = CType(_applicationObject.Windows.CreateLinkedWindowFrame _
(w1, w2, vsLinkedWindowType.vsLinkedWindowTypeDocked), 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;
    Window2 w1 = 
(Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindSolutionExplorer);
Window2 w2 = 
(Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindOutput);
    Window2 w3 =
 (Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindCommandWindow);
    // Create a linked window frame and dock Solution Explorer 
    // and the Ouput window together inside it.
    Frame = 
(Window2)_applicationObject.Windows.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);
}

Безопасность платформы .NET Framework

См. также

Ссылки

Window2 Интерфейс

LinkedWindows - перегрузка

EnvDTE80 - пространство имен