GetSubItemAt Method

ListViewItem.GetSubItemAt Method (Int32, Int32)

 

Returns the subitem of the ListViewItem at the specified coordinates.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public ListViewItem.ListViewSubItem GetSubItemAt(
	int x,
	int y
)

Parameters

x
Type: System.Int32

The x-coordinate.

y
Type: System.Int32

The y-coordinate.

Return Value

Type: System.Windows.Forms.ListViewItem.ListViewSubItem

The ListViewItem.ListViewSubItem at the specified x- and y-coordinates.

The GetSubItemAt method will return null if the ListView is not in Details view, or there is not a ListViewItem.ListViewSubItem located at the specified point.

The following code example demonstrates how to use the GetSubItemAt method. To run this code, paste it into a Windows Form and call InitializeListView1 from the form's constructor or Load event-handling method.

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

.NET Framework
Available since 2.0
Return to top
Show:
© 2016 Microsoft