void ShowIndex() { try { this.listItemGroups.BeginUpdate(); this.listItemGroups.Items.Clear(); IndexItemList <IndexItem>[] groups = new IndexItemList <IndexItem> [D.SearchIndex.Count]; D.SearchIndex.Values.CopyTo(groups, 0); this.listItemGroups.Items.AddRange(groups); } finally { this.listItemGroups.EndUpdate(); } }
private void listItemGroups_SelectedIndexChanged(object sender, EventArgs e) { IndexItemList <IndexItem> list = ((IndexItemList <IndexItem>) this.listItemGroups.SelectedItem); if (priorList == list) { return; } priorList = list; try { this.listWords.BeginUpdate(); this.listWords.Items.Clear(); IndexItem[] items = new IndexItem[list.Count]; list.CopyTo(items); this.listWords.Items.AddRange(items); } finally { this.listWords.EndUpdate(); this.listItemGroups.Refresh(); } }