private void SelectListItem(DetailsListView LView, int Index) { //単一 Rectangle bnd = new Rectangle(); bool flg = false; if (LView.FocusedItem != null) { bnd = LView.FocusedItem.Bounds; flg = true; } do { LView.SelectedIndices.Clear(); } while (LView.SelectedIndices.Count > 0); LView.Items[Index].Selected = true; //LView.SelectedIndices.Add(Index); LView.Items[Index].Focused = true; if (flg) LView.Invalidate(bnd); }
private void SelectListItem(DetailsListView LView , int[] Index, int FocusedIndex) { //複数 Rectangle bnd = new Rectangle(); bool flg = false; if (LView.FocusedItem != null) { bnd = LView.FocusedItem.Bounds; flg = true; } int fIdx = -1; if (Index != null && !(Index.Length == 1 && Index[0] == -1)) { do { LView.SelectedIndices.Clear(); } while (LView.SelectedIndices.Count > 0); foreach (int idx in Index) { if (idx > -1 && LView.VirtualListSize > idx) { LView.SelectedIndices.Add(idx); if (fIdx == -1) fIdx = idx; } } } if (FocusedIndex > -1 && LView.VirtualListSize > FocusedIndex) { LView.Items[FocusedIndex].Focused = true; } else if (fIdx > -1) { LView.Items[fIdx].Focused = true; } if (flg) LView.Invalidate(bnd); }
private void SelectListItem(DetailsListView LView , int[] Index, int focusedIndex, int selectionMarkIndex) { //複数 Rectangle bnd = new Rectangle(); bool flg = false; var item = LView.FocusedItem; if (item != null) { bnd = item.Bounds; flg = true; } if (Index != null) { do { LView.SelectedIndices.Clear(); } while (LView.SelectedIndices.Count > 0); LView.SelectItems(Index); } if (selectionMarkIndex > -1 && LView.VirtualListSize > selectionMarkIndex) { LView.SelectionMark = selectionMarkIndex; } if (focusedIndex > -1 && LView.VirtualListSize > focusedIndex) { LView.Items[focusedIndex].Focused = true; } else if (Index != null && Index.Length != 0) { LView.Items[Index.Last()].Focused = true; } if (flg) LView.Invalidate(bnd); }