Partager via


Window2.Selection, propriété

Obtient un objet représentant la sélection actuelle sur l'objet Window.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.dll)

Syntaxe

'Déclaration
ReadOnly Property Selection As Object
Object Selection { get; }
property Object^ Selection {
    Object^ get ();
}
abstract Selection : Object with get
function get Selection () : Object

Valeur de propriété

Type : Object
Objet.

Exemples

Cet exemple définit un fichier texte comme fenêtre active. Il l'utilise alors pour itérer au sein de la collection de fenêtres et afficher le nom du projet conteneur et de l'élément de projet pour la fenêtre.

Avant d'exécuter cet exemple, ouvrez un projet dans Visual Studio et ajoutez-lui un fichier texte nommé "TextFile1.txt". Ajoutez du texte dans le fichier et sélectionnez-le. L'exemple affiche le texte sélectionné dans une boîte de message.

Pour plus d'informations sur l'exécution de cet exemple comme complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet 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)
    SelectionExample (_applicationObject)
End Sub
Sub SelectionExample (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. Write some text in the file
        ' and select it.
        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)
             ' Show the selected text.
             MsgBox(CType(win.Selection, TextSelection).Text _
             & " is selected.")
            ' 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;
    SelectionExample(_applicationObject);
}
public void SelectionExample(DTE2 dte)
{
    try
    {
        // Before running, create a text file named 
        // "TextFile1.txt", include it in your solution,
        // and make it the active window. Write some text in the file
        // and select it.
        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("The name of the containing project is : "
 + 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 item is: " 
+ win.ProjectItem.Name);
            // How many other windows are available?
            string w = "Available windows:\n";
            foreach (Window wi in win.Collection)
            {
                w = w + wi.Caption + "\n";
            }
            MessageBox.Show(w);
            // Show the selected text.
            MessageBox.Show(((TextSelection)win.Selection).Text 
+ " is selected.");
            // 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);
    }
}

Sécurité .NET Framework

Voir aussi

Référence

Window2 Interface

EnvDTE80, espace de noms