private void GridTroopsOrders_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { string clickedTroopsOrderName = GridTroopsOrders.Rows[e.RowIndex].Cells[1].Value.ToString(); var clickedTroopOrder = _plemionaToolLocalData.TroopsOrders.Single(to => to.Name == clickedTroopsOrderName); if (clickedTroopOrder == _selectedTroopsOrder) { _selectedTroopsOrder = null; GridTroopsOrders.ClearSelection(); } else { _selectedTroopsOrder = clickedTroopOrder; } } }
private void GridTroopsOrders_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { if (_selectedTroopsOrder != null) { _plemionaToolLocalData.TroopsOrders.Remove(_selectedTroopsOrder); var selectedRow = GridTroopsOrders.Rows.Cast <DataGridViewRow>().Single(r => r.Cells[1].Value.ToString() == _selectedTroopsOrder.Name); GridTroopsOrders.Rows.RemoveAt(selectedRow.Index); FixGridNumbers(GridTroopsOrders); GridTroopsOrders.ClearSelection(); _selectedTroopsOrder = null; } } }
public FrmTroopsOrder(IEnumerable <string> invalidNames, IEnumerable <TroopsTemplate> troopsTemplates, Troops ownTroops, TroopsOrder troopsOrderToEdition = null) { InitializeComponent(); _invalidNames = invalidNames; _troopsTemplates = troopsTemplates; _ownTroops = ownTroops; _editionMode = troopsOrderToEdition != null; TroopsOrder = _editionMode ? troopsOrderToEdition : new TroopsOrder(); CbxTroopsTemplate.Items.AddRange(_troopsTemplates.Select(tt => tt.Name).ToArray()); if (_editionMode) { BtnDeletion.Visible = true; TbxName.Text = troopsOrderToEdition.Name; CbxTroopsTemplate.SelectedItem = troopsOrderToEdition.TroopsTemplate.Name; LbxCoordinates.Items.AddRange(troopsOrderToEdition.VillagesCoordinates.Select(vc => $"{vc.X}|{vc.Y}").ToArray()); DtpckExecutionDate.Value = troopsOrderToEdition.ExecutionDate; CkbxEveryday.Checked = troopsOrderToEdition.Everyday; UpdateRequiredTroops(); } else { CbxTroopsTemplate.SelectedIndex = 0; } BtnOk.Text = troopsOrderToEdition != null ? "Edit" : "Add"; }