簡體   English   中英

將焦點設置在 ListView

[英]Set focus on ListView

我剛剛開始在 VS2019 中使用 ListView 控件。

我確信有一個簡單的解決方案,但我不知道如何像使用大多數其他控件一樣將焦點設置在控件上。

我希望在表單加載時將 ListView 聚焦,然后我想以編程方式聚焦 ListView 中的項目。

我知道如何使用ListView1.FocusedItem.Index聚焦特定項目,但我無法聚焦實際控制。

我已經嘗試過ListView1.Select()ListView1.Focus()但這些似乎什么也沒做。

我錯過了什么??

謝謝

編輯正如下面所指出的,控件實際上是使用 ListView1.Select() 聚焦的,它只是沒有以我期望的方式聚焦,例如,一個 ListBox 聚焦 - 即,突出顯示列表中的特定項目。

您將如何最好地聚焦 ListView 並突出顯示特定項目? 我已經在表單上的命令按鈕中嘗試過這個,但它沒有做任何事情。 盡管在我單擊 ListView 中的項目后它可以正常工作。

ListView1.Select()
If (ListView1.SelectedItems.Count > 0) Then
    ListView1.Items(4).Selected = True
End If

ListView1.Select有效,您可能只是沒有看到 ListView 有焦點。 您可以通過檢查 ListView 上的 GotFocus 和 LostFocus 事件來驗證這一點:

Private Sub ListView1_GotFocus(sender As Object, e As EventArgs) Handles ListView1.GotFocus
    Me.Text = "Got Focus"
End Sub

Private Sub ListView1_LostFocus(sender As Object, e As EventArgs) Handles ListView1.LostFocus
    Me.Text = "Lost Focus"
End Sub

這只是將表單的標題更新為“Got Focus”或“Lost Focus”。 您可以在 Form Load 事件中強制獲得焦點:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

    ListView1.Items.Add("a")
    ListView1.Items.Add("b")
    ListView1.Items.Add("c")

    ListView1.Select()

End Sub
listview1.focus()

For I as Integer = 0 to ListView1.Items.Count - 1
    If ListView1.Items(i).Text = "youritemtexthere" then
         ListView1.Items(i).Selected = true
    End If
End For

或者如果您有索引但沒有已知文本,請執行以下操作:

listview1.focus()
ListView1.Items(index).Selected = true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM