Visual Studio Automation and Extensibility Reference
Window.Selection Property

Gets an object representing the current selection on the Window object.

Namespace: EnvDTE
Assembly: EnvDTE (in envdte.dll)

Syntax

Visual Basic (Declaration)
ReadOnly Property Selection As Object
Visual Basic (Usage)
Dim instance As Window
Dim value As Object

value = instance.Selection
C#
Object Selection { get; }
C++
property Object^ Selection {
    Object^ get ();
}
J#
/** @property */
Object get_Selection ()
JScript
function get Selection () : Object

Property Value

An object representing the current selection on the Window object.
Example

Visual Basic
Public Sub CodeExample(ByVal dte As DTE2, ByVal addin As AddIn) 
    Try
        ' Before running, create a text file named 
        ' "TextFile1.txt", include it in your solution,
        ' and make it the active window.
        Dim win As Window
        Dim doc As Document
        If dte.Documents.Count > 0 Then
            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(win.ProjectItem.Name)
            ' How many other windows are available.
            Dim w As String = "Windows:" + vbCrLf
            Dim wi As Window
            For Each wi In  win.Collection
                w = w + wi.Caption + vbCrLf
            Next wi
            MessageBox.Show(w)
            ' Determine that the document returned by the document 
            ' property is the same as the document object 'doc'.
            If win.Document Is doc Then
                MessageBox.Show("The documents match!")
            Else
                MessageBox.Show("The documents do not match!")
            End If
            ' Close the window.
            win.Close(vsSaveChanges.vsSaveChangesNo)
        End If
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
C#
public void CodeExample(DTE2 dte, AddIn addin)
{   
    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(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);
            // 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);
    }
}
See Also

Tags :


Community Content

Craig Skibo - MSFT
Not available for all window types

This property is only valid for certian types of windows, such as text editor windows, but not for other window types such as the task list or output window. If the Window object does not support the Selection property, then NULL, null, or Nothing, depending on your programming language's syntax, will be returned.

Tags :

Page view tracker