次の方法で共有


Window2.Selection プロパティ

Window オブジェクトの現在の選択項目を表すオブジェクトを取得します。

名前空間:  EnvDTE80
アセンブリ:  EnvDTE80 (EnvDTE80.dll 内)

構文

'宣言
ReadOnly Property Selection As Object
Object Selection { get; }
property Object^ Selection {
    Object^ get ();
}
abstract Selection : Object
function get Selection () : Object

プロパティ値

型 : System.Object
オブジェクト。

この例では、テキスト ファイルをアクティブ ウィンドウにします。次に、そのテキスト ファイルを使用してウィンドウのコレクションを反復処理し、このウィンドウを含むプロジェクトとプロジェクト項目の名前を表示します。

この例を実行する前に、Visual Studio でプロジェクトを開き、"TextFile1.txt" という名前のテキスト ファイルを追加します。次に、任意のテキストをファイルに追加して選択します。この例では、選択したテキストがメッセージ ボックスに表示されます。

このアドインの例を実行する方法の詳細については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

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);
    }
}

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

Window2 インターフェイス

Selection オーバーロード

EnvDTE80 名前空間