SelectedItems Interface

Contains SelectedItem objects, which represent selected projects or project items.

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

Syntax

'Declaration
<GuidAttribute("6CAA67CF-43AE-4184-AAAB-0200DDF6B240")> _
Public Interface SelectedItems _
    Inherits IEnumerable
'Usage
Dim instance As SelectedItems
[GuidAttribute("6CAA67CF-43AE-4184-AAAB-0200DDF6B240")]
public interface SelectedItems : IEnumerable
[GuidAttribute(L"6CAA67CF-43AE-4184-AAAB-0200DDF6B240")]
public interface class SelectedItems : IEnumerable
public interface SelectedItems extends IEnumerable

Remarks

There is always a SelectedItems collection, even when there are no project items. For example, if Solution Explorer has focus and a project node is selected, then there is one SelectedItem object. The selected item's Project property refers to the selected project, and its ProjectItem property is Null.

Examples

Sub SelectedItemsExample()
   Dim SelItems As SelectedItems
   Dim SelItemObj As SelectedItem
   Dim SelContain As SelectionContainer
   Dim SelItem As SelectedItem
   Dim NameStr As String

   SelItems = DTE.SelectedItems
   ' List the number of items selected.
   If SelItems.MultiSelect = True Then
      MsgBox("You have " & SelItems.Count & " items selected in Solution Explorer.")
   End If

   ' Set a reference to the first selected item.
   SelItemObj = SelItems.Item(1)
   ' List the names of the project or project items under the selected 
   ' item.
   For Each SelItem In SelItemObj.Collection
      NameStr = NameStr & SelItem.Name
      If TypeOf SelItem.Project Is Project Then
         NameStr = NameStr & " Project-" & SelItem.Project.Name & vbCrLf
      Else
         If TypeOf SelItem.ProjectItem Is ProjectItem Then
             NameStr = NameStr & SelItem.ProjectItem.FileNames(1) & vbCrLf
         End If
      End If
   Next
   MsgBox("You selected: " & NameStr)
End Sub

See Also

Reference

SelectedItems Members

EnvDTE Namespace