次の方法で共有


Window2.Document プロパティ

項目に関連付けられている Document オブジェクトがあれば、そのオブジェクトを取得します。

名前空間:  EnvDTE80
アセンブリ:  EnvDTE80 (EnvDTE80.dll 内)

構文

'宣言
ReadOnly Property Document As Document
Document Document { get; }
property Document^ Document {
    Document^ get ();
}
abstract Document : Document
function get Document () : Document

プロパティ値

型 : EnvDTE.Document
Document オブジェクト。

解説

ツール ウィンドウの場合、Document は Nothing を返します。

この例では、ウィンドウのコレクションを反復処理して、ウィンドウのキャプションを表示します。また、Document の種類が一致することを確認します。

このアドインの例を実行する方法の詳細については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

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 インターフェイス

Document オーバーロード

EnvDTE80 名前空間