private void VoicesDataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } var grid = (DataGridView)sender; //var column = VoicesDataGridView.Columns[e.ColumnIndex]; if (e.ColumnIndex == grid.Columns[EnabledColumn.Name].Index) { var voice = (InstalledVoiceEx)grid.Rows[e.RowIndex].DataBoundItem; voice.Enabled = !voice.Enabled; VoicesDataGridView.Invalidate(); } if (e.ColumnIndex == grid.Columns[FemaleColumn.Name].Index) { VoicesDataGridView.BeginEdit(true); } if (e.ColumnIndex == grid.Columns[MaleColumn.Name].Index) { VoicesDataGridView.BeginEdit(true); } if (e.ColumnIndex == grid.Columns[NeutralColumn.Name].Index) { VoicesDataGridView.BeginEdit(true); } }
private void RemoveButton_Click(object sender, EventArgs e) { var items = GetSelectedItems(); var message = string.Format("Are you sure you want to remove {0} item{1}?", items.Count, items.Count == 1 ? "" : "s"); var form = new MessageBoxForm(); form.StartPosition = FormStartPosition.CenterParent; var result = form.ShowForm(message, "Remove", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation); if (result == DialogResult.OK) { VoicesDataGridView.ClearSelection(); var list = (BindingList <InstalledVoiceEx>)VoicesGridView.DataSource; foreach (var item in items) { list.Remove(item); } } form.Dispose(); }