Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[.NET] Ayuda con Visual basic.net

Participa en el tema [.NET] Ayuda con Visual basic.net en el foro Programación.
Necesito hacer lo siguiente: tengo un button1 que deseo mover al presionar las teclas derecha ...

Buscar en este tema:
 
  •  
    chelomar escribió el 14/12/2007 a las 20:40 hs.
     
    ¿Mensaje inapropiado?
    #1 [.NET] Ayuda con Visual basic.net
    Necesito hacer lo siguiente:
    tengo un button1 que deseo mover al presionar las teclas derecha (->) o izquierda (<-)
    Lo que hice fue lo siguiente:
    dentro del button1
    Proc_keyup
    If e.KeyCode = Keys.Right Then
    Button1.Left = Button1.Left + 1
    EndIf
    If e.KeyCode = Keys.Left Then
    Button1.Left = Button1.Left - 1
    EndIf

    Esto funciona bien, pero lo hace cada vez que presiono las teclas.
    Si quiero que al mantener presionada la tecla, se siga moviendo, ¿Qué tengo que hacer?

    GRACIASSSS!!!!
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/programacion.313/588215-net-ayuda-con-visual-basic-net.html
    | Más
  • chelomar escribió el 14/12/2007 a las 21:53 hs. ¿Mensaje inapropiado?

    #2 Re: Ayuda con Visual basic.net

    Seguí buscando por Internet y logré algo.
    Primero, en las propiedades del Form, cambié Keypreview a true.
    Y después escribí lo siguiente:

    PrivateSub Form1_KeyDown(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyEventArgs) HandlesMe.KeyDown
    SelectCase e.KeyCode
    Case Keys.NumPad6
    Button1.Left = Button1.Left + 10
    Case Keys.NumPad4
    Button1.Left = Button1.Left - 10
    EndSelect
    EndSub

    Esto funciona con las teclas 4 y 6 del teclado numérico.
    Ahora, si lo quiero hacer con las flechas, no funciona.
    Lo que hago es cambiar numpad6 por right y numpad4 por left.
    ¿Alguno sabe por qué? ¿Estaré haciendo algo mal?
    Probé con otras teclas y funciona. No funciona con las flechas
    Me gusta este mensaje
  • leoleoleo17 escribió el 14/12/2007 a las 21:55 hs. ¿Mensaje inapropiado?

    #3 Re: Ayuda con Visual basic.net

    probaste algo con el evento keypress?? yo la verdad que no estoy muy bien informado sobre winforms...

    cuando consigas hacerlo... postealo!

    saludos


    leo

    mmm las flechita son:
    Key.Left
    Key.Right
    Key.Up
    Key.Down

    yo recien lo probé y me andubo en un form vacio...
    despues, le agregue un boton y me dejo de funcionar...
    Me gusta este mensaje
  • chelomar escribió el 14/12/2007 a las 22:11 hs. ¿Mensaje inapropiado?

    #4 Re: Ayuda con Visual basic.net

    Originalmente publicado por leoleoleo17 Ver mensaje
    probaste algo con el evento keypress?? yo la verdad que no estoy muy bien informado sobre winforms...

    cuando consigas hacerlo... postealo!

    saludos


    leo

    mmm las flechita son:
    Key.Left
    Key.Right
    Key.Up
    Key.Down

    yo recien lo probé y me andubo en un form vacio...
    despues, le agregue un boton y me dejo de funcionar...
    Cuando decís que lo prebaste en nu form vacío, ¿qué es lo que hacías? Mover algo o algún cartel...
    Me gusta este mensaje
  • leoleoleo17 escribió el 14/12/2007 a las 22:14 hs. ¿Mensaje inapropiado?

    #5 Re: Ayuda con Visual basic.net

    hacer saltar un MessageBox

    Código:
            private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                switch(e.KeyCode)
                {
                    case Keys.Left:
                        {
                            MessageBox.Show("izq");
                            break;
                        }
                    case Keys.Up:
                        {
                            MessageBox.Show("arriba");
                            break;
                        }
                }
    
            }
    
    pueden ser 2 cosas:
    1) que al agregar controles se anule el evento este (que no creo que sea asi)
    2) que al agregar un control este tome el foco de la aplicacion y ya no te salte el evento de onkeydown de el form... (por ahi debe andar la cosa)
    Me gusta este mensaje
  • chelomar escribió el 14/12/2007 a las 22:20 hs. ¿Mensaje inapropiado?

    #6 Re: Ayuda con Visual basic.net

    Originalmente publicado por leoleoleo17 Ver mensaje
    hacer saltar un MessageBox

    Código:
            private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                switch(e.KeyCode)
                {
                    case Keys.Left:
                        {
                            MessageBox.Show("izq");
                            break;
                        }
                    case Keys.Up:
                        {
                            MessageBox.Show("arriba");
                            break;
                        }
                }
     
            }
    
    pueden ser 2 cosas:
    1) que al agregar controles se anule el evento este (que no creo que sea asi)
    2) que al agregar un control este tome el foco de la aplicacion y ya no te salte el evento de onkeydown de el form... (por ahi debe andar la cosa)
    sabés que probé sacar el button y agregué un picturebox y así funciona. Efectivamente el problema es cuando ponés un botón. Ahora voy a probar lo del foco

    si al botón, en propiedades, a enabled le pongo false, también funciona.
    Me gusta este mensaje
  • chelomar escribió el 16/12/2007 a las 22:30 hs. ¿Mensaje inapropiado?

    #7 Re: Ayuda con Visual basic.net

    a alguien se le ocurre una solución???????

    El problema ya no sería mover el botón, porque lo puedo reemplazar por un picturebox, pero si en el form deseo agregar un botón para alguna otra cosa, ya no voy a poder usar las flechas.
    Me gusta este mensaje
  • chelomar escribió el 18/12/2007 a las 14:38 hs. ¿Mensaje inapropiado?

    #8 Re: Ayuda con Visual basic.net

    Por lo que veo, la flechas funcionan como Tab, pasando la selección de un botón a otro. Funciona igual que con la tecla TAB, siempre y cuando en propiedades de los botones esté TabStop = True.

    ¿Hay alguna forma que las flechas no cumplan esta función (la de Tab), y me permita mover el objeto que yo desee?

    Gracias
    Me gusta este mensaje
  • #9 Re: Ayuda con Visual basic.net

    Originalmente publicado por chelomar Ver mensaje
    Seguí buscando por Internet y logré algo.
    Primero, en las propiedades del Form, cambié Keypreview a true.
    Y después escribí lo siguiente:

    PrivateSub Form1_KeyDown(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyEventArgs) HandlesMe.KeyDown
    SelectCase e.KeyCode
    Case Keys.NumPad6
    Button1.Left = Button1.Left + 10
    Case Keys.NumPad4
    Button1.Left = Button1.Left - 10
    EndSelect
    EndSub

    Esto funciona con las teclas 4 y 6 del teclado numérico.
    Ahora, si lo quiero hacer con las flechas, no funciona.
    Lo que hago es cambiar numpad6 por right y numpad4 por left.
    ¿Alguno sabe por qué? ¿Estaré haciendo algo mal?
    Probé con otras teclas y funciona. No funciona con las flechas

    Me sirvio mucho tu codigo!!
    pero ahoraaa!! como se le puede hacer para que el boton no desaparezca de la form??
    es decir cuando se esta ejecutando muevo el boton pero dsps se pierde!!
    como le puedo hacer para ke eso no pasee??
    alguien me puede ayudar?¿¿
    Me gusta este mensaje
  • #10 Re: Ayuda con Visual basic.net

    Yo lo que haria seria que cada vez que se mueva el boton controle la ubicacion del mismo, tanto en la parte mas alta, la parte de abajo de la pantalla, el limite lateral derecho y el limite lateral izquierdo. Entonces comparo que las coordenadas del boton sean siempre menores y si alguna vez es mayor que no realize el movimiento del boton.
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 9 RESPUESTAS
  • 2222 VISTAS
  • 4 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB