void AddKey(object sender, EventArgs e) { using (var emd = new EditMappingDialog()) { if (emd.ShowDialog() != DialogResult.OK) { return; } keymap.Entries.Add((emd.FromKey, emd.ToKey)); UpdateKeymapList(); } }
void EditKey(object sender, EventArgs e) { var selection = listBox_mappings.SelectedItem as KeyCaptionPair; using (var emd = new EditMappingDialog(selection.From.Value, selection.To.Value)) { if (emd.ShowDialog() != DialogResult.OK) { return; } //Replace the listbox selection with the edited result var index = keymap.Entries.IndexOf((selection.From.Value, selection.To.Value)); keymap.Entries.Remove((selection.From.Value, selection.To.Value)); keymap.Entries.Insert(index, (emd.FromKey, emd.ToKey)); UpdateKeymapList(); } }