Window2.Selection 属性

定义

获取表示对象上当前选定内容的对象 Window

public:
 property System::Object ^ Selection { System::Object ^ get(); };
public:
 property Platform::Object ^ Selection { Platform::Object ^ get(); };
[System.Runtime.InteropServices.DispId(129)]
public object Selection { [System.Runtime.InteropServices.DispId(129)] get; }
[<System.Runtime.InteropServices.DispId(129)>]
[<get: System.Runtime.InteropServices.DispId(129)>]
member this.Selection : obj
Public ReadOnly Property Selection As Object

属性值

Object

一个对象。

实现

属性

示例

此示例将文本文件作为活动窗口。 然后,它使用它来循环访问 windows 集合并显示该窗口的包含项目和项目项的名称。

运行此示例之前,请在中打开一个项目, Visual Studio 并向其添加一个名为 "TextFile1.txt" 的文本文件。 向文件添加一些文本,然后选择它。 该示例在消息框中显示所选文本。

Imports EnvDTE  
Imports EnvDTE80  
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 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);  
    }  
}  

适用于