public static void SelectNextOrFirst(this FastObjectListView list) { if (list.InvokeRequired) { list.Invoke((Action)(() => { list.SelectNextOrFirst(); })); return; } var nextItem = list.GetNextItem(list.SelectedItem); if (nextItem == null) { nextItem = list.GetNextItem(null); } list.SelectedItem = nextItem; }