Freigeben über


Window2.ProjectItem-Eigenschaft

Ruft das dem Window-Objekt zugeordnete ProjectItem-Objekt ab.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
ReadOnly Property ProjectItem As ProjectItem
ProjectItem ProjectItem { get; }
property ProjectItem^ ProjectItem {
    ProjectItem^ get ();
}
abstract ProjectItem : ProjectItem with get
function get ProjectItem () : ProjectItem

Eigenschaftswert

Typ: ProjectItem
Ein ProjectItem-Objekt.

Beispiele

In diesem Beispiel wird eine Textdatei zum aktiven Fenster. Anschließend wird das Fenster zum Durchlaufen der Fensterauflistung und zum Anzeigen des Namens des Projektelements für das Fenster verwendet.

Öffnen Sie vor dem Ausführen dieses Beispiels ein Projekt in Visual Studio, und fügen Sie ihm eine Textdatei mit dem Namen "TextFile1.txt" hinzu.

Weitere Informationen zum Ausführen dieses Beispiels als Add-In finden Sie unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.

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)
    ProjectExample(_applicationObject)
End Sub
Sub ProjectExample(ByVal dte As DTE2)
    Try
        'Before running, 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 project containing the window: "  _
            & win.Project.Name)
            ' Acticate the winodw.
            win.Activate()
            ' Show the name of the current ProjectITem.
            MsgBox("The name of the current project item is: "  _
            & win.ProjectItem.Name)
            ' How many other windows are available?
            Dim w As String = "Available windows are :" & vbCr
            For Each wi As Window2 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.vsSaveChangesNo)
        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;
    ProjectExample(_applicationObject);
}
public void ProjectExample(DTE2 dte)
{
    try
    {
        // Before running, create a text file named 
        // "TextFile1.txt", include it in your solution,
        // and make it the active window.
        Window win;
        Document doc;
        if (dte.Documents.Count > 0)
        {
            doc = dte.Documents.Item("TextFile1.txt");
            win = 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("The name of the project containing 
the window: " + win.ProjectItem.Name);
            // How many other windows are available?
            string w = "Available windows are :\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-Sicherheit

Siehe auch

Referenz

Window2 Schnittstelle

EnvDTE80-Namespace