/// <summary>
        /// Метод для обработки удаления соединения между слоями
        /// </summary>
        private void MainPanel_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                return;
            }

            // нахождение соединения, на который нажал пользователь
            Connection connection = ConnectionLine.IsIntersection(Save.NNetwork.Connections, new Point(e.X, e.Y));

            if (connection is null)
            {
                return;
            }

            DialogResult result = MessageBox.Show("Do you wanna to delete this connection?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                // удаление соединения
                connection.ComponentFirst.Layer.NextLayer = null;
                Save.NNetwork.Connections.Remove(connection);
                LayersControls.DrawLines(mainPanel, Save.NNetwork.Connections);
                BlockTrain(sender, e);
            }
        }
        /// <summary>
        /// Метод для отрисовки соединений между слоями
        /// </summary>
        /// <param name="panel">Компонента, на которой необходимо нарисовать</param>
        /// <param name="connections">Список соединений</param>
        public static void DrawLines(Control panel, List <Connection> connections)
        {
            using (Graphics graphics = panel.CreateGraphics())
            {
                graphics.Clear(panel.BackColor); // очистка экрана
                Pen pen = new Pen(Color.Black, 4);

                foreach (Connection connection in connections)
                {
                    Point[] points = ConnectionLine.GetLocation(connection);
                    graphics.DrawLine(pen, points[0], points[1]); // отрисовка линии
                    DrawArrow(graphics, pen, points);             // отрисока направления
                }
            }
        }