ListViewItem.GetSubItemAt(Int32, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve el subelemento de ListViewItem en las 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
La coordenada x.
- y
- Int32
La coordenada y.
Devoluciones
ListViewItem.ListViewSubItem en las coordenadas x- e y- especificadas.
Ejemplos
En el ejemplo de código siguiente se muestra cómo utilizar el método GetSubItemAt. Para ejecutar este código, péguelo en un formulario Windows Forms y llame InitializeListView1
desde el constructor o Load el método de control de eventos del formulario.
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
Comentarios
El GetSubItemAt método devolverá null
si ListView no está en Details la vista o no hay un ListViewItem.ListViewSubItem objeto ubicado en el punto especificado.