private void editToolStripMenuItem_Click(object sender, EventArgs e) { var menuItem = sender as ToolStripItem; if (menuItem == null) { return; } var owner = menuItem.Owner as ContextMenuStrip; if (owner == null) { return; } var plrcontrol = GetParent <PlayerControl>(owner.SourceControl); if (plrcontrol == null) { return; } if (plrcontrol.Player == null) { return; } var form = new EditPlayerForm(plrcontrol.Player); if (form.ShowDialog() != DialogResult.OK) { return; } plrcontrol.Player.Note = form.NoteText.Text; if (form.ColorBox.SelectedIndex != -1) { plrcontrol.Player.NoteColor = Color.FromName(form.ColorBox.Items[form.ColorBox.SelectedIndex].ToString()); } plrcontrol.SetPlayer(plrcontrol.Player); //Forces the notes/color to update Task.Factory.StartNew(() => Recorder.CommitPlayer(plrcontrol.Player)); }