ListViewItem.GetSubItemAt(Int32, Int32) Método

Definição

Retorna o subitem do ListViewItem em coordenadas especificadas.

public:
 System::Windows::Forms::ListViewItem::ListViewSubItem ^ GetSubItemAt(int x, int y);
public System.Windows.Forms.ListViewItem.ListViewSubItem GetSubItemAt (int x, int y);
public System.Windows.Forms.ListViewItem.ListViewSubItem? GetSubItemAt (int x, int y);
member this.GetSubItemAt : int * int -> System.Windows.Forms.ListViewItem.ListViewSubItem
Public Function GetSubItemAt (x As Integer, y As Integer) As ListViewItem.ListViewSubItem

Parâmetros

x
Int32

A coordenada X.

y
Int32

A coordenada Y.

Retornos

O ListViewItem.ListViewSubItem nas coordenadas x e y especificadas.

Exemplos

O exemplo de código a seguir demonstra como usar o GetSubItemAt método . Para executar esse código, cole-o em um Windows Form e chame InitializeListView1 do construtor do formulário ou Load do método de manipulação de eventos.

private ListView listView1;

private void  InitializeListView1(){
    listView1 = new ListView();
    
    // Set the view to details to show subitems.
    listView1.View = View.Details;
   
    // Add some columns and set the width.
    listView1.Columns.Add("Name");
    listView1.Columns.Add("Number");
    listView1.Columns.Add("Description");
    listView1.Width = 175;

    // Create some items and subitems; add the to the ListView.
    ListViewItem item1 = new ListViewItem("Widget");
    item1.SubItems.Add(new ListViewItem.ListViewSubItem(item1, "14"));
    item1.SubItems.Add(new ListViewItem.ListViewSubItem(item1, 
        "A description of Widget"));
    ListViewItem item2 = new ListViewItem("Bracket");
    item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, "8"));
    listView1.Items.Add(item1);
    listView1.Items.Add(item2);
    
    // Add the ListView to the form.
    this.Controls.Add(listView1);
    listView1.MouseDown += new MouseEventHandler(listView1_MouseDown);
}

void listView1_MouseDown(object sender, MouseEventArgs e)
{
    // Get the item at the mouse pointer.
    ListViewHitTestInfo info = listView1.HitTest(e.X, e.Y);

    ListViewItem.ListViewSubItem subItem = null;
    
    // Get the subitem 120 pixels to the right.
    if (info != null)
        if (info.Item != null)
            subItem = info.Item.GetSubItemAt(e.X + 120, e.Y);
    
    // Show the text of the subitem, if found.
    if (subItem != null)
        MessageBox.Show(subItem.Text);
}
Private WithEvents listView1 As ListView

Private Sub InitializeListView1()
    listView1 = New ListView()

    ' Set the view to details to show subitems.
    listView1.View = View.Details

    ' Add some columns and set the width.
    listView1.Columns.Add("Name")
    listView1.Columns.Add("Number")
    listView1.Columns.Add("Description")
    listView1.Width = 175

    ' Create some items and subitems; add the to the ListView.
    Dim item1 As New ListViewItem("Widget")
    item1.SubItems.Add(New ListViewItem.ListViewSubItem(item1, "14"))
    item1.SubItems.Add(New ListViewItem.ListViewSubItem(item1, "A description of Widget"))
    Dim item2 As New ListViewItem("Bracket")
    item2.SubItems.Add(New ListViewItem.ListViewSubItem(item2, "8"))
    listView1.Items.Add(item1)
    listView1.Items.Add(item2)

    ' Add the ListView to the form.
    Me.Controls.Add(listView1)
End Sub

Private Sub listView1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)


    ' Get the item at the mouse pointer.
    Dim info As ListViewHitTestInfo = listView1.HitTest(e.X, e.Y)

    Dim subItem As ListViewItem.ListViewSubItem = Nothing

    ' Get the subitem 120 pixels to the right.
    If (info IsNot Nothing) Then
        If (info.Item IsNot Nothing) Then
            subItem = info.Item.GetSubItemAt(e.X + 120, e.Y)
        End If
    End If ' Show the text of the subitem, if found.
    If (subItem IsNot Nothing) Then
        MessageBox.Show(subItem.Text)
    End If
End Sub

Comentários

O GetSubItemAt método retornará null se o ListView não estiver em Details exibição ou se não houver um ListViewItem.ListViewSubItem localizado no ponto especificado.

Aplica-se a