Autor
|
Tema: Ayuda principiante boton que no se puede clickear (Leído 4,493 veces)
|
nolosabe
Desconectado
Mensajes: 20
|
Hola, que tal, les cuento que recien empiezo con vb, estoy usando v studio 2003 porque es el que usamos en el instituto. quiero hacer un formulario con un boton en el cual cuando le apuntes con el mouse para clickearlo se mueva hacia arriba hasta cierto punto, pero la idea es que solo se mueva cuando le vas a apuntar o pasar el mouse por encima, para eso use MOUSE MOVE, logré que se mueva hacia arriba hasta ese cierto punto, pero si voy y dejo el mouse posicionado en el punto mas alto al que se mueve el boton, el boton no para de moverse... debo de tener un error con el while. probe poner el while de otra forma y con un if pero solo se mueve una vez y eso no sirve, se tiene que mover siempre que se lo quiera apuntar con el mouse asi no se puede clickear... les dejoj el codigo Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove Dim x As Integer, y As Integer x = 32 y = 272 While (y > 220) y = y - 3 Button1.Location() = New Point(x, y) End While End Sub
|
|
« Última modificación: 22 Abril 2012, 21:07 pm por raul338 »
|
En línea
|
Gracias a todos por su ayuda, espero yo también ser de ayuda para alguien mas
|
|
|
kub0x
Enlightenment Seeker
Moderador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Primero, esto no es vb6 amigo... tu mismo has dicho que trabajas en Visual Studio, pues dicha plataforma lleva integrada el framework de .NET Segundo: el control por lo que veo (no he probado el código) solo se movería una vez ya que cada vez que se llama al evento MouseEvent declaras la variable Y con el mismo valor.
Entonces tenemos que la expresión y = y - 3 tendrá siempre el mismo valor, por lo que uno deduce que solo se moverá una vez el botón. ¿Qué hacer? Manejar Y habiendo declarado la variable de forma global.
Saludos.
|
|
|
En línea
|
|
|
|
nolosabe
Desconectado
Mensajes: 20
|
ok pero como hago que para en vez de declararle yo un valor a x o a y, ponerle el valor de las coordenadas actuales? algo asi como dim x as integer x= button.location x o algo asi, ni idea porque es la primera vez que uso visual
yo nunca dije que era visual basic 6
|
|
|
En línea
|
Gracias a todos por su ayuda, espero yo también ser de ayuda para alguien mas
|
|
|
kub0x
Enlightenment Seeker
Moderador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Lo del vb6 lo digo porque estás en el foro de Vb no de .NET y el código está etiquetado y coloreado bajo VB. Te dejo lo que pides, simplemente obtengo las coordenadas actuales del Button y comienza un bucle que mueve el control mientras Y sea menor que 220: Public Sub Mover_Button() Dim X as Integer = Button1.Location.X Dim Y as integer = Button1.Location.Y While Y > 220 Y-=3 Button1.Location = New Point(X,Y) End While End Sub
Saludos!
|
|
« Última modificación: 22 Abril 2012, 21:41 pm por kub0x »
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Y porque usas while? Si en realidad es el mismo usuario el que hace el ciclo Cada vez que toques el boton, lo mueves hacia arriba si no supero cierto punto. Algo asi Public Sub Mover_Button() Dim X as Integeger = Button1.Location.X Dim Y as integer = Button1.Location.Y If Y > 200 Then Y-=3 Button1.Location = New Point(X,Y) End If End Sub
|
|
|
En línea
|
|
|
|
nolosabe
Desconectado
Mensajes: 20
|
ahi va muchas gracias... 2 cosas mas y no jodo 1 - Como hago para que no se le pueda hacer "focus" o ponerle a "gotfocus" que inmediatamente le de focus a otro boton 2 - Recomiendenme un manual, libro, o cursito online. yo ya se algo de C# pero nada de visual studio muchas gracias !
|
|
|
En línea
|
Gracias a todos por su ayuda, espero yo también ser de ayuda para alguien mas
|
|
|
kub0x
Enlightenment Seeker
Moderador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Se me olvido modificar el bucle, simplemente lo escribi todo de una tajada El programa correría perfectamente si reemplazas el bucle por una sentencia condicional. Saludos.
|
|
|
En línea
|
|
|
|
kub0x
Enlightenment Seeker
Moderador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Para que un usuario no pueda establecer el foco en el Button mediante el Tabulador cambia la propiedad TabStop del Button a True. Con el valor cambiado a True podrías perfectamente mover el Button en la direccion que quieras. Por ejemplo: Public Sub Mover_Button() Dim X As Integer = Button1.Location.X Dim Y As Integer = Button1.Location.Y If Y > 90 Then Y -= 2 Button1.Location = New Point(X, Y) Else Button1.Location = New Point(X, 150) End If End Sub
Saludos.
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda soy principiante!
« 1 2 3 »
Programación Visual Basic
|
xDie
|
28
|
8,981
|
18 Enero 2007, 20:39 pm
por xDie
|
|
|
se puede desabilitar el boton cerrar con un bat?
Scripting
|
mexican hack
|
1
|
2,884
|
17 Noviembre 2006, 06:22 am
por sirdarckcat
|
|
|
ayuda soy principiante
Ingeniería Inversa
|
nsoffia
|
4
|
5,341
|
21 Junio 2008, 23:28 pm
por apuromafo CLS
|
|
|
Ayuda clickear Radio en WebBrowser desde VB
Programación Visual Basic
|
PedroZa
|
4
|
4,863
|
15 Junio 2009, 01:47 am
por PedroZa
|
|
|
Facebook instala el 'botón del pánico' que puede ser usado en caso de un ...
Noticias
|
wolfbcn
|
0
|
1,306
|
12 Julio 2010, 20:40 pm
por wolfbcn
|
|