共用方式為


Window2.Collection 屬性

取得集合,此集合包含支援此屬性的 Window 物件。

命名空間:  EnvDTE80
組件:  EnvDTE80 (在 EnvDTE80.dll 中)

語法

'宣告
ReadOnly Property Collection As Windows
Windows Collection { get; }
property Windows^ Collection {
    Windows^ get ();
}
abstract Collection : Windows
function get Collection () : Windows

屬性值

型別:EnvDTE.Windows
Windows 集合。

範例

這個範例會逐一查看視窗的集合,並顯示視窗標題。

如需如何像執行增益集一般,執行這個範例的詳細資訊,請參閱 HOW TO:編譯和執行 Automation 物件模型程式碼範例

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)
    CollectionExample(_applicationObject)
End Sub
Sub CollectionExample(ByVal dte As DTE2)
    Try
      ' Before running this example, create a text file named
      ' "TextFile1.txt", include it in your solution,
      ' and make it the active window.
      Dim win As Window2
      Dim doc As Document
      If (_applicationObject.Documents.Count > 0) Then
        doc = _applicationObject.Documents.Item("TextFIle1.txt")
        win = CType(doc.ActiveWindow, Window2)
        ' Show the name of the project that contains this 
        ' window and document.
        MsgBox("The name of the containing project: " & vbCr _
        & win.Project.Name)
        ' Activate the window.
        win.Activate()
        ' Show the name of the current ProjectItem in the window.
        MsgBox("The current project item is: " & win.ProjectItem.Name)
        ' How many other windows are available?
        Dim w As String = "Windows: " & vbCr
        For Each wi As Window In win.Collection
          w = w & wi.Caption & vbCr
        Next
        MsgBox(w)
        ' Determine that the document returned by the document
        ' property is the same as the document object 'doc'.
        If (win.Document Is doc) Then
          MsgBox("The documents match!")
        Else
          MsgBox("The documents do not match!")
        End If
        ' Close the window.
        win.Close(vsSaveChanges.vsSaveChangesYes)
      End If
    Catch ex As Exception
      MsgBox(ex.Message)
    End Try
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;
    CollectionExample(_applicationObject);
}
public void CollectionExample(DTE2 dte)
{
    try
    {
      // Before running, create a text file named 
      // "TextFile1.txt", include it in your solution,
      // and make it the active window.
      Window2 win;
      Document doc;
      if (dte.Documents.Count > 0)
      {
        doc = dte.Documents.Item("TextFile1.txt");
        win = (EnvDTE80.Window2)doc.ActiveWindow;
        // Show the name of the project that contains this 
        // window and document.
        MessageBox.Show(win.Project.Name);
        win.Activate(); // Activate the window
        // Show the name of the current ProjectItem in the window.
        MessageBox.Show(win.ProjectItem.Name);
        // How many other windows are available?
        string w = "Windows:\n";
        foreach (Window wi in win.Collection)
        {
          w = w + wi.Caption + "\n";
        }
        MessageBox.Show(w);
        // Determine that the document returned by the document 
        // property is the same as the document object 'doc'.
        if (win.Document.Equals(doc))
          MessageBox.Show("The documents match!");
        else 
           MessageBox.Show("The documents do not match!");
        // Close the window.
        win.Close(vsSaveChanges.vsSaveChangesNo);
      }
      }
    catch(Exception ex)
    {
      MessageBox.Show(ex.Message);
    }
}

.NET Framework 安全性

請參閱

參考

Window2 介面

Collection 多載

EnvDTE80 命名空間