/// <summary> /// Выбирает либо исключает из выбора строку, в зависимости от ее текущего состояния /// </summary> /// <param name="row">Строка</param> public void SelectDeselectRow(Row row) { row.Selected = !row.Selected; if (row.Selected) { if (!multipleSelect) { foreach (Row sr in selectedRows) sr.Selected = false; selectedRows.Clear(); } selectedRows.Add(row); } else { selectedRows.Remove(row); } //TODO - selectedChange RecalculateMaxScrollPosition(); DrawToBackBuffer(); this.Invalidate(); }
/// <summary> /// Инициализирует новый экземпляр класса /// </summary> /// <param name="row">Строка, которая изменила выделение</param> public SelectionChangedEventArgs(Row row) { ChangedRow = row; }