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(); } }