/// <exception cref="InvalidOperationException"></exception> public void RemoveLastRow() { if (rows.Count == 0) { throw new InvalidOperationException(); } var rowToRemove = rows[rows.Count - 1]; rowToRemove.Items.Dispose(); rowToRemove.Control.Dispose(); rows.RemoveAt(rows.Count - 1); RowCountChanged?.Invoke(this, EventArgs.Empty); AlternatesChanged?.Invoke(this, EventArgs.Empty); }
public void UpdateRowCount(int newCount) { if (newCount == RowCount) { return; } if (newCount == 0) { ClearCache(); } RowCount = newCount; RowCountChanged?.Invoke(this, EventArgs.Empty); }
public void AddRow() { var row = new AlternateRowItems(); row.Init(() => destSidProvider.Icao, () => airwayNetwork.AirportList); row.AddToLayoutPanel(layoutPanel); row.IcaoTxtBox.TextChanged += (s, e) => AlternatesChanged?.Invoke(this, EventArgs.Empty); var controller = new AltnRowControl(this, row); controller.Subsribe(); rows.Add(new AltnRow() { Items = row, Control = controller }); RowCountChanged?.Invoke(this, EventArgs.Empty); AlternatesChanged?.Invoke(this, EventArgs.Empty); }