ListViewItem.GetSubItemAt(Int32, Int32) 方法

定義

傳回位於指定座標之 ListViewItem 的子項目。Returns the subitem of the ListViewItem at the specified coordinates.

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

參數

x
Int32

x 座標。The x-coordinate.

y
Int32

y 座標。The y-coordinate.

傳回

ListViewItem.ListViewSubItem

位於指定之 X 和 Y 座標的 ListViewItem.ListViewSubItemThe ListViewItem.ListViewSubItem at the specified x- and y-coordinates.

範例

下列程式碼範例會示範如何使用 GetSubItemAt 方法。The following code example demonstrates how to use the GetSubItemAt method. 若要執行此程式碼,請將它貼入 Windows Form,並 InitializeListView1 從表單的函 Load 式或事件處理方法呼叫。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);
}
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

備註

GetSubItemAt null 如果不 ListView 是在 Details view 中,或 ListViewItem.ListViewSubItem 位於指定的點,則方法會傳回。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.

適用於