private void SelectListItem(DetailsListView listView, int[] indecies, int focused) { // 複数 Rectangle bnd = default(Rectangle); bool flg = false; if (listView.FocusedItem != null) { bnd = listView.FocusedItem.Bounds; flg = true; } int fIdx = -1; if (indecies != null && !(indecies.Count() == 1 && indecies[0] == -1)) { do { listView.SelectedIndices.Clear(); } while (listView.SelectedIndices.Count > 0); foreach (int idx in indecies) { if (idx > -1 && listView.VirtualListSize > idx) { listView.SelectedIndices.Add(idx); if (fIdx == -1) { fIdx = idx; } } } } if (focused > -1 && listView.VirtualListSize > focused) { listView.Items[focused].Focused = true; } else if (fIdx > -1) { listView.Items[fIdx].Focused = true; } if (flg) { listView.Invalidate(bnd); } }
private void SelectListItem(DetailsListView listView, int index) { // 単一 Rectangle bnd = default(Rectangle); bool flg = false; if (listView.FocusedItem != null) { bnd = listView.FocusedItem.Bounds; flg = true; } do { listView.SelectedIndices.Clear(); } while (listView.SelectedIndices.Count > 0); listView.Items[index].Selected = true; listView.Items[index].Focused = true; if (flg) { listView.Invalidate(bnd); } }