// Выводит на форму вторую матрицу, состоящую из объектов TextBox.
 void displaySecondMatrix()
 {
     // Координаты, задающие начальное положение ячеек
     // второй матрицы при её создании
     pointX = matTwoView_lbl.Location.X;
     pointY = matTwoView_lbl.Location.Y + 30;
     // Количество рядов и столбцов матрицы
     // устанавливается из значений полей NumericUpDown
     matrix2      = new Matrix((int)mat_two_rows.Value, (int)mat_two_cols.Value);
     secondMatrix = new MatrixView(matrix2);
     // Добавляет на форму элемент textBox объекта secondMatrix
     // для всех рядов и столбцов матрицы matrix2
     for (int i = 0; i < matrix2.Rows; i++)
     {
         for (int j = 0; j < matrix2.Columns; j++)
         {
             secondMatrix[i, j].Location = new Point(pointX, pointY);
             Controls.Add(secondMatrix[i, j]);
             pointX += 50;
         }
         pointX  = matTwoView_lbl.Location.X;
         pointY += 20;
     }
     matTwoView_lbl.Text = matTwoLabel;
 }
 // Удаляет представление матриц из формы ActForMatrix.
 // Удаляет объекты класса Matrix из памяти.
 void matrixDeletion(Matrix mat, MatrixView matView)
 {
     if (mat != null)
     {
         for (int i = 0; i < mat.Rows; i++)
         {
             for (int j = 0; j < mat.Columns; j++)
             {
                 Controls.Remove(matView[i, j]);
                 matView[i, j].Dispose();
             }
         }
         mat = null;
     }
 }
 /* Определяет значения для указанной матрицы mat
  * из значений TextBox указанной визуальной матрицы matView.
  * Прерывает выполнение метода при некорретном значении
  * поля matLabel, меняя фоновый цвет этого поля. */
 void matrixParsing(Matrix mat, MatrixView matView,
                    Label matLabel, string initialLabel)
 {
     for (int i = 0; i < mat.Rows; i++)
     {
         for (int j = 0; j < mat.Columns; j++)
         {
             // Если значение ячейки представления матрицы пустое,
             // то этой ячейке присваевается значение 0 (нуль)
             if (matView[i, j].Text == string.Empty)
             {
                 mat[i, j]          = 0;
                 matView[i, j].Text = "0";
             }
             else
             {
                 try
                 {
                     mat[i, j] = Int32.Parse(matView[i, j].Text);
                     matView[i, j].BackColor = Color.White;
                 }
                 // Вызывает исключение FormatException при попытке
                 // извлечь некорректное числовое значение
                 catch (FormatException)
                 {
                     matView[i, j].BackColor = Color.Yellow;
                     inputChecker            = false;
                     matLabel.Text           = checkTheData;
                     return;
                 }
             }
         }
     }
     matLabel.Text = initialLabel;
     inputChecker  = true;
 }
 // Выводит на форму матрицу-результат, состоящую из объектов TextBox.
 void displayResultMatrix()
 {
     if (resultMatrix == null)
     {
         // Координаты, задающие начальное положение ячеек
         // результирующей матрицы при её создании
         pointX       = mat_two_col_lbl.Location.X;
         pointY       = mat_two_col_lbl.Location.Y + 215;
         resultMatrix = new MatrixView(matrix3);
         // Добавляет на форму элемент textBox объекта resultMatrix
         // для всех рядов и столбцов матрицы matrix3
         for (int i = 0; i < matrix3.Rows; i++)
         {
             for (int j = 0; j < matrix3.Columns; j++)
             {
                 resultMatrix[i, j].Text     = matrix3[i, j].ToString();
                 resultMatrix[i, j].Location = new Point(pointX, pointY);
                 Controls.Add(resultMatrix[i, j]);
                 pointX += 50;
             }
             pointX  = mat_two_col_lbl.Location.X;
             pointY += 20;
         }
     }
     else
     {
         for (int i = 0; i < matrix3.Rows; i++)
         {
             for (int j = 0; j < matrix3.Columns; j++)
             {
                 resultMatrix[i, j].Text = matrix3[i, j].ToString();
             }
         }
     }
     matResultView_lbl.Text = matResultLabel;
 }