Народ! Кто там так плохо бету тестил? Почему релиз так глючит?
Вот этот код работает не так как хотелось бы:
Public Class Form1
Dim arra() As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
ReDim arra(49)
For i = 0 To 49
arra(i) = "Элемент №" + i.ToString
Next
ListView1.Columns.Add("HeadColumn", 100, HorizontalAlignment.Left)
ListView1.View = View.Details
Timer1.Interval = 300
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim i, past As Integer
With ListView1
.BeginUpdate()
If .TopItem IsNot Nothing Then past = .TopItem.Index Else past = -1
.Clear()
ListView1.Columns.Add("HeadColumn", 100, HorizontalAlignment.Left)
ListView1.View = View.Details
For i = 0 To 49
.Items.Add(arra(i))
Next
If past <> -1 Then .TopItem = .Items(past + 1)
.EndUpdate()
End With
End Sub
End Class
Пробовал на VB 2005 Express Edition. На форме Form1 должны быть ListView1 и Timer1.
Глюк: такой "автоскролл" не прокручивает список до конца.
Обнаружен был при попытке восстанавливать TopItem после изменения массива и обновления списка.
Не поверите - это первое, что я начал писать в свежезакачанной среде. 8)
Хотя нет - тут должен быть такой смайл 8(
Или я что-то неправильно делал?
Ответить
|