Window2.Collection プロパティ
このプロパティをサポートしている Window オブジェクトを含んでいるコレクションを取得します。
名前空間: EnvDTE80
アセンブリ: EnvDTE80 (EnvDTE80.dll 内)
構文
'宣言
ReadOnly Property Collection As Windows
Get
Windows Collection { get; }
property Windows^ Collection {
Windows^ get ();
}
abstract Collection : Windows
function get Collection () : Windows
プロパティ値
型: EnvDTE.Windows
Windows コレクション。
実装
例
この例では、ウィンドウのコレクションを反復処理して、ウィンドウのキャプションを表示します。
このアドインの例を実行する方法の詳細については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。
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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「部分信頼コードからのライブラリの使用」を参照してください。