Window2.Project (Propiedad)
Obtiene el objeto Project asociado al objeto Window.
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
ReadOnly Property Project As Project
Get
Project Project { get; }
property Project^ Project {
Project^ get ();
}
abstract Project : Project
function get Project () : Project
Valor de propiedad
Tipo: EnvDTE.Project
Objeto Project.
Implementaciones
Comentarios
La propiedad Project representa el proyecto al que pertenece el elemento.
Ejemplos
Este ejemplo convierte un archivo de texto en la ventana activa. A continuación, lo utiliza para recorrer en iteración la colección de ventanas y mostrar el nombre del proyecto que contiene la ventana.
Antes de ejecutar este ejemplo, abra un proyecto en Visual Studio y agréguele un archivo de texto denominado "TextFile1.txt".
Para obtener más información sobre cómo ejecutar este ejemplo como un complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.
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);
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.