Имею код:
private void OnPlayerBookmarkAdded(object sender, BookmarkItem bookmarkItem, int positionIndex)
{
if (comboBoxPlayers.SelectedIndex >= 0)
{
ZeratoolPlayerGui z = (comboBoxPlayers.Items[comboBoxPlayers.SelectedIndex] as PlayerListItem).Player;
if (z == (ZeratoolPlayerGui)sender)
{
string timeCode = ZeratoolBookmarks.TimeToString(new DateTime(bookmarkItem.TimeCode.Ticks));
ListViewItem listViewItem = new ListViewItem(timeCode);
listViewItem.SubItems.Add(bookmarkItem.ShortDescription);
listViewBookmarks.Items.Insert(positionIndex, listViewItem);
listViewBookmarks.SelectedIndices.Clear();
listViewBookmarks.SelectedIndices.Add(positionIndex);
}
}
}
При добавлении элементов происходит сортировка через интерфейс IComparer
. positionIndex
это индекс куда добавился элемент после сортировки. Точнее, куда его надо сунуть.
Проблема: если элементов много, то новый элемент не видно (то есть видно, но надо вручную скроллить ListView
). Как его программно заскроллить в нужное место?