我刚刚开始在VS2019中使用ListView控件。
我敢肯定有一个简单的解决方案,但是我不知道如何像其他大多数控件一样将焦点放在控件上。
我希望在加载表单时使ListView聚焦,然后我要以编程方式使ListView中的项目聚焦。
我知道如何使用ListView1.FocusedItem.Index
来聚焦特定的项目,但是我无法聚焦实际的控件。
我已经尝试过ListView1.Select()
和ListView1.Focus()
,但它们似乎无济于事。
我想念什么!?
谢谢
编辑 正如下面所指出的,该控件实际上是使用ListView1.Select()进行聚焦的,只是它的聚焦方式与我期望的方式不同,例如,将ListBox聚焦的方式-即突出显示列表中的特定项目。 / p>
您如何最好地聚焦ListView并突出显示特定项目? 我已经在表单上的命令按钮中尝试过此操作,但是它没有任何作用。尽管在我单击ListView中的项目后它可以正常工作。
ListView1.Select()
If (ListView1.SelectedItems.Count > 0) Then
ListView1.Items(4).Selected = True
End If
答案 0 :(得分:1)
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
答案 1 :(得分:1)
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