private void buttonRemoveCharacter_Click(object sender, EventArgs e)
{
IList<string> charactersToRemove = new List<string>();
for (var i = 0; i < dataGridViewCharacters.SelectedRows.Count; i++)
{
var character = ((ObjectView<CharacterSourceDTO>) dataGridViewCharacters.SelectedRows[i].DataBoundItem).Object;
Form f;
if (_openedForms.TryGetValue(character.Name,out f))
{
var r = MessageBox.Show($"\"{character.Name}\" is currently being edited.\nDo you wish to remove it?", "Warning",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (r == DialogResult.No)
continue;
f.Close();
}
charactersToRemove.Add(character.Name);
}
CurrentAsset.RemoveCharacters(charactersToRemove);
_characterSources.DataSource = CurrentAsset.GetAllCharacterSources().ToList();
_characterSources.Refresh();
SetModified();
}