ListViewItem.GetSubItemAt(Int32, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回位於指定座標之 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 Form 中,然後從表單的建構函式或 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
備註
如果 ListView 不在檢視中 Details ,或沒有 ListViewItem.ListViewSubItem 位於指定點的 ,則 GetSubItemAt 方法會傳回 null
。