private void PB_VistaPerfilLongitudinal_MouseDown(object sender, MouseEventArgs e)
 {
     if (F_Base.Proyecto.Edificio.PisoSelect.NervioSelect != null)
     {
         if (e.Button == MouseButtons.Left)
         {
             IElemento ElementoSeleccionado = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Lista_Elementos.Find(x => x.Vistas.IsSelectPlantaPerfilLongitudinal(e.Location));
             F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Lista_Elementos.FindAll(x => x != ElementoSeleccionado).ForEach(x => x.Vistas.SelectPerfilLongitudinal = false);
             if (ElementoSeleccionado != null)
             {
                 if (ElementoSeleccionado is cSubTramo && F_Base.Proyecto.VerSolicitaciones)
                 {
                     F_Base.F_Base_.VentanaEmergente(ref F_Base.F_VerSolicitacionesPorTramo);
                     F_Base.F_VerSolicitacionesPorTramo.SubTramoSelect = ElementoSeleccionado as cSubTramo;
                 }
                 else if (!F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.BloquearNervio)
                 {
                     F_Base.F_Base_.VentanaEmergente(ref F_Base.F_ModificarSeccion);
                     F_Base.F_ModificarSeccion.ElementoSeleccionado = ElementoSeleccionado;
                 }
                 else if (F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.BloquearNervio)
                 {
                     ElementoSeleccionado.Vistas.SelectPerfilLongitudinal = false;
                 }
             }
             else
             {
                 F_Base.F_ModificarSeccion.Close(); F_Base.F_VerSolicitacionesPorTramo.Close();
             }
         }
         PB_VistaPerfilLongitudinal.Invalidate();
     }
 }
 private void F_NervioEnPerfilLongitudinal_Paint(object sender, PaintEventArgs e)
 {
     PB_VistaPerfilLongitudinal.Invalidate();
     if (F_Base.Proyecto.Edificio.PisoSelect.NervioSelect != null)
     {
         Text = $"Vista en Perfil Longitudinal | {F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Nombre}";
     }
 }
 private void PB_VistaPerfilLongitudinal_MouseDown_RestablecerZoom(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Middle && e.Clicks == 2)
     {
         Zoom = 1;
         Dx   = 0; Dy = 0;
         PB_VistaPerfilLongitudinal.Invalidate();
     }
     if (e.Button == MouseButtons.Middle)
     {
         DesXButton = e.X;
         DesYButton = e.Y;
     }
 }
 private void TLSM_ApoyoFinal_Click(object sender, EventArgs e)
 {
     if (sender == TLSN_ApoyoFinal)
     {
         F_Base.EnviarEstado_Nervio(F_Base.Proyecto.Edificio.PisoSelect.NervioSelect);
         F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.CrearApoyosAExtremos(ApoyoFinal: true);
         PB_VistaPerfilLongitudinal.Invalidate();
     }
     else if (sender == TLSN_ApoyoFinalE)
     {
         F_Base.EnviarEstado_Nervio(F_Base.Proyecto.Edificio.PisoSelect.NervioSelect);
         F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.EliminarApoyosAExtremos(ApoyoFinal: true);
         PB_VistaPerfilLongitudinal.Invalidate();
     }
 }
        private void PB_VistaPerfilLongitudinal_MouseWheel_Zoom(object sender, MouseEventArgs e)
        {
            int vueltas = e.Delta;

            if (vueltas > 0)
            {
                Zoom += 0.5f;
                PB_VistaPerfilLongitudinal.Invalidate();
            }
            else
            {
                if (Zoom > 1)
                {
                    Zoom -= 0.5f;
                    PB_VistaPerfilLongitudinal.Invalidate();
                }
            }
        }
        private void PB_VistaPerfilLongitudinal_MouseMove_Desplazamiento(object sender, MouseEventArgs e)
        {
            Cursor CursorArraste = new Cursor(Properties.Resources.Arrastre16x16.Handle);
            Cursor CursorDefault = Cursors.Default;
            Cursor cursor        = CursorDefault;

            if (e.Button == MouseButtons.Middle)
            {
                float DesplazX = (Dx) + (e.X - DesXButton);
                float DesplazY = (Dy) + (e.Y - DesYButton);
                Dx         = DesplazX;
                Dy         = DesplazY;
                DesXButton = e.X;
                DesYButton = e.Y;
                cursor     = CursorArraste;
                PB_VistaPerfilLongitudinal.Invalidate();
            }
            PB_VistaPerfilLongitudinal.Cursor = cursor;
        }
 private void MostrarReglaToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
 {
     PB_VistaPerfilLongitudinal.Invalidate();
 }
 private void F_NervioEnPerfilLongitudinal_Resize(object sender, EventArgs e)
 {
     PB_VistaPerfilLongitudinal.Invalidate();
 }