/// <summary> /// Remove a region from the listView /// </summary> private void buttonRemove_Click(object sender, System.EventArgs e) { if (listViewRegions.SelectedItems.Count > 0) { string regionName = listViewRegions.SelectedItems[0].Text; languageInfo.RemoveRegion(regionName); int lastPos = listViewRegions.SelectedIndices[0]; listViewRegions.Items.RemoveAt(lastPos); if (listViewRegions.Items.Count > 0) { // new selected item out of range? if (lastPos > listViewRegions.Items.Count - 1) { lastPos--; } listViewRegions.Items[lastPos].Selected = true; } } if (listViewRegions.Items.Count == 0) { // no regions left, add a default region string newRegion = languageInfo.AddRegion(); listViewRegions.Items.Add(newRegion); listViewRegions.Items[0].Selected = true; } }