public static void  Print(int[,] matrix, int columnNumber = 0, int rowNumber = 0)
        {
            if (rowNumber == matrix.GetLength(0))
            {
                return;
            }

            Console.Write($"\t{matrix[rowNumber, columnNumber++]}");

            if (columnNumber == matrix.GetLength(1))
            {
                Console.WriteLine();
                OnRowChanged?.Invoke(matrix, 0, ++rowNumber);
                return;
            }

            OnColumnChanged?.Invoke(matrix, columnNumber, rowNumber);
        }
 public void EndEdit()
 {
     OnRowChanged?.Invoke(this, new EventArgs());
 }