我正在尝试制作支持多线程的应用。它有几个不同的选项卡,我有一个选项卡,其中包含每个初始化操作的日志。当我更新我的日志时,我希望它滚动到底部。我正在使用ListView
控件。
Public Sub SubmitLog(ByVal Data As String)
If Data <> "" Then
With lstLogs
.Items.Add(New ListViewItem(New String(1) {Date.Now.ToString(), Data}))
.Items.Item(.Items.Count - 1).EnsureVisible()
End With
End If
End Sub
为了测试它,我称之为一个简单的循环:
For I As Integer = 0 To 50
SubmitLog(Path.GetRandomFileName())
Next
但它不会滚动到最后一项。为什么不滚动到底部,我该如何实现呢?
答案 0 :(得分:1)
尝试将Selected
属性设置为true:
If Data <> "" Then
With lstLogs
.Items.Add(New ListViewItem(New String(1) {Date.Now.ToString(), Data}))
.Items.Item(.Items.Count - 1).Selected = True
.Items.Item(.Items.Count - 1).EnsureVisible()
End With
End If
或只是确保lstLogs
控件具有焦点。