elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Mover Panel que tiene ScrollBar con las teclas, y que se actualice el ScrollBar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mover Panel que tiene ScrollBar con las teclas, y que se actualice el ScrollBar  (Leído 1,038 veces)
solesvia

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Mover Panel que tiene ScrollBar con las teclas, y que se actualice el ScrollBar
« en: 11 Septiembre 2015, 04:54 am »

;D

Hola, espero que me ayuden con este problema.

Tal y como lo dice el titulo, quiero mover un panel que tiene un srollbar, dentro de este panel hay un picturebox. Quiero que el panel se mueva al pinchar las teclas (a, d, w, s (intente con las teclas UP, DOWN, LEFT, RIGHT. pero no fue posible porque tenia un numericUPDown en el form y tomaba estas teclas para él)), lo hice con el siguiente código, pero cuando pinchaba la tecla se movia solo la image, y el scroll se quedaba quieto; si pinchaba nuevamente la tecla, se movia el scroll, pero no la imagen, y así susecibamente.

Código
  1. private void frmDrawing_KeyPress(object sender, KeyPressEventArgs e)
  2.       {
  3.            e.Handled = true;//Quita el sonido beep
  4.            switch (e.KeyChar) //si presiona las teclas
  5.            {
  6.                case 'w':
  7.                    pnlFrontal.VerticalScroll.Value -= (pnlFrontal.VerticalScroll.Value >= movScroll) ? movScroll : pnlFrontal.VerticalScroll.Value;//Operador ternario
  8.                    break;
  9.                case 's':
  10.  
  11.                    pnlFrontal.VerticalScroll.Value += (pnlFrontal.VerticalScroll.Value <= (maxVerScroll-movScroll)) ? movScroll : -pnlFrontal.VerticalScroll.Value + pnlFrontal.VerticalScroll.Maximum;
  12.                    break;
  13.                case 'a':
  14.                    pnlFrontal.HorizontalScroll.Value -= (pnlFrontal.HorizontalScroll.Value >= movScroll) ? movScroll : pnlFrontal.HorizontalScroll.Value;
  15.                    break;
  16.                case 'd':
  17.                    pnlFrontal.HorizontalScroll.Value += (pnlFrontal.HorizontalScroll.Value <= (maxHorScroll-movScroll)) ? movScroll : pnlFrontal.HorizontalScroll.Value;
  18.                    break;
  19.                case 'x':
  20.                    System.Windows.Forms.MessageBox.Show("Posicion de la imagen X = "+pboxGrid.Location.X.ToString()+"\nPosicion del Scroll X = "+pnlFrontal.HorizontalScroll.Value.ToString());
  21.                    break;
  22.                default:
  23.                    e.Handled = false;//No se trato la letra o tecla
  24.                    break;
  25.            }
  26.            //pnlFrontal.Refresh();
  27.        }
  28.  

Observe el funcionamiento del programa en el modo depurador, y efectivamente pasa eso a nivel de variables. Primero se actualiza la posicion de la imagen, pero no el scroll
(1); En la segunda pinchada se actualizaba el scroll, pero no la imagen(2).

(1) Valores que cambian en la primera pinchada de la tecla d(ScrollBar Horizontal)

Código
  1. AutoScrollPosition {X = -10 Y = 0} System.Drawing.Point //cambio :)
  2. DisplayRectangle {X = -10 Y = 0 Width = 1100 Height = 1100}System.Drawing.Rectangle//cambio :D
  3.  
  4. HorizontalScroll.Value      0             int //no cambia  >:(
  5.  

(2) Valores que cambian en la segunda pinchada de la tecla d(ScrollBar Horizontal)

Código
  1. AutoScrollPosition {X = -10 Y = 0} System.Drawing.Point //No cambio
  2. DisplayRectangle {X = -10 Y = 0 Width = 1100 Height = 1100} System.Drawing.Rectangle//No cambio
  3.  
  4. HorizontalScroll.Value      10     int //Cambio
  5.  

No logro comprender por que pasa eso  :-\


Si tienen otra solución o estoy cometiendo algún error agradezco su explicación.


« Última modificación: 11 Septiembre 2015, 05:00 am por solesvia » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
scrollbar en programa
Programación Visual Basic
akss_wm 2 809 Último mensaje 21 Diciembre 2006, 14:34 pm
por CeLaYa
Backcolor con Scrollbar [?] « 1 2 »
Programación Visual Basic
.:BlackCoder:. 10 2,535 Último mensaje 11 Mayo 2010, 00:11 am
por .:BlackCoder:.
Agregar ScrollBar personalizado a un Panel C#
.NET (C#, VB.NET, ASP)
Krähne 6 6,964 Último mensaje 18 Abril 2011, 20:35 pm
por _katze_
scrollbar hidden
Desarrollo Web
basickdagger 2 1,515 Último mensaje 7 Septiembre 2011, 20:10 pm
por basickdagger
Agregar Scrollbar a JPanel « 1 2 »
Java
GSecurity 11 1,848 Último mensaje 3 Abril 2020, 05:40 am
por GSecurity
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines