次の方法で共有


ListViewItem.GetSubItemAt(Int32, Int32) メソッド

定義

ListViewItem の指定した座標にあるサブ項目を返します。

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

パラメーター

x
Int32

x 座標。

y
Int32

y 座標。

戻り値

指定した x 座標および y 座標にある ListViewItem.ListViewSubItem

次のコード例は、GetSubItemAt メソッドの使用方法を示します。 このコードを実行するには、Windows フォームに貼り付け、フォームのコンストラクターまたはLoadイベント処理メソッドから を呼び出InitializeListView1します。

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ビューにないDetails場合、または指定したポイントに が存在しないListViewItem.ListViewSubItem場合ListView、 メソッドは を返nullします。

適用対象