Validar botones

Disculpe que lo vuelva a molestar es que pues ya pude resolver mis problemas de las fechas pero ahora me surgió otro problema.. Es que tengo 10 botones de color blancos y pues cada vez que selecciono uno se cambia de color (rojo) y me muestra una ventana para guardar datos de unos alumnos, el problema es que a la hora de cancelar el guardado del alumnos pues m tiene que volver a cambiar el botón a su colro normal osea el verde.. El problema es que no se como hacerlo, por que si cancelo me cambia el color del botón junto con los demás botones que ya estaban en rojo y yo solo quiero que me cambie de colro el botón que oprimí no los demás... No se si me entienda... Pro ejemplo, selecciono el botón numero "5" y pues me abre la ventana donde agrego los datos de los alumnos pero pues surge un problema y tengo que cancelar, entonces cancelo pero me tiene que volver al estado normal ese mismo botón osea el "5" y los demás que los deje en el estado en que se encuentre... Espero y así me entienda mejor... Y pues espero una respuesta pronta para poder seguir adelnet con mi programa...

1 respuesta

Respuesta
1
¿Estas usando un arreglo de botones (un array)?
No son 60 botones diferentes.. es decir command1, command2, command3... command60
Entonces no entiendo la dificultad, solo dale command1. Backcolor=rgb(0,0,0) '(o el color que deseas) en todo caso tendría que ver que estas haciendo en el código para decirte porque te cambian todos los botones de color
Mire eso de cambiar colores a los botones pues lo hace cuando el doy clic a cada uno, eso si lo hace bien el problema es que una vez que le doy clic cambia de color pero también manda a llamar a una ventana que es para agregar datos y esa ventana sirve para todos los botones, el problema aquí es para cancelar desde la ventana que manda a llamar, que le de cancelar y que me reestablesca el botón a su color normal pero solo el que había oprimido, por ejemplo estoy dando de alta a los alumnos y pues ya yebo 4 agragados osea 4 botones oprimidos y puestan de color rojo, entonces voy con el 5to le doy clic, me despliega la ventana pero pues surge un problema y tengo que cancelar, entonces le doy cancelar y ese botón que había oprimido osea el 5to pues que vuelva a su estado normal y que los demás se queden como estaban.. ¿Así ya me entendió un poco más?
El código que utilizo para cambiarle de color a los botones es el siguiente:
Private Sub Command1_Click()
command1.BackColor = &HFF&                       ' este es del boton1
command1.Enabled = False
mhab101.Enabled = True
Form3.Label9 = "101"
Form3.Show
end sub
Private Sub Command2_Click()
command1.BackColor = &HFF&
command1.Enabled = False                                   ' este es del boton2
mhab101.Enabled = True
Form3.Label9 = "101"
Form3.Show
end sub
Y así con todos los botones...
Declara en un modulo una variable
public numboton as integer
Supongamos que tu ventana de botones se llama frmbotones y la otra frmmant, entonces:
Primero te digo que lo hubieras hecho con un array, pero como ya esta así ni modo; le vamos a quitar el numero al nombre command1(o a cualquier botón que presiones), entonces hacemos esto
numboton= mid(command1.name,8,len(command1.name)-7)
Ya teniendo el numero del botón entonces en el evento click de tu botón cancelar pones esto:
select case numboton
case 1:frmbotones.command1.backcolor=rgb(x,x,x)
case 2:frmbotones.command2.backcolor=rgb(y,y,y)
Etc
Etc
end select
Nota: si lo hubieras hecho con un array solo metías el valor del index dentro del numboton, de esa manera en el evento click de tu botón cancelar no tenias que hacer un select case sino solo llamar al botón con el valor que tienes en el numboton.
Suerte, supongo que con esto si te saldrá, no dudes en seguir preguntando si tienes inconvenientes.
Hola de nuevo disculpe mi gran ignorancia pero es que no me funciona mire hice lo siguiente:
' Este es el codigo que puse en el Form1 que es donde estan los botones (solo probe con el boron 1, para ver si hacia algo pero pues no funsiono)
Public numboton As Integer
Private Sub Command1_Click()
numboton = Mid(command1.Name, 8, Len(command1.Name) - 7)
command1.BackColor = &HFF&
command1.Enabled = False
mhab101.Enabled = True
Form3.Label9 = "101"
Form3.Show
end sub
'este es el codigo que puse en el Form3 que es donde esta el boton de cancelar..
Private Sub KewlButtons2_Click()
Select Case numboton
Case 1: Form1.command1.BackColor = &H8000&
End Select
Unload Me
End Sub
La verdad estoy un poco desesperado creo porque necesito entregar esto a más tardar mañana sábado a emdio día es lo único que me falta y pues la verdad ya no se que hacer y la desesperación me esta ganando creo que por eso no lo hago bien. Espero yme compranda y me puedasegur ayudando muchas gracias de antemano y si es mucha la molestia pues discúlpeme. Gracias...
Ya hombre no desesperes has declarado la variable como publica (la numboton), declárala en un modulo, sino se va a perder el valor de un formulario a otro
No pues definitivamente no puedo si entra al formulario le doy clic y cambia de colro el botón pero cuando le doy cancelar pues no hace nada solo se sale sin hacer nada lo deja igual.. creo que m resignare con esto aver que otra cosa le puedo inventar... de todos modos gracias por tu gran ayuda.
En que evento le estas poniendo lo del cambio de botón, ten en cuenta que si para cerrar la ventana le pones un unload me eso tiene que ir después de cambiar el color del botón, si puedes agrégame al msn y te ayudo, [email protected]
Hola oye estuve analizando muy bien lo que m enviaste y al fin le entendí.. tu ayuda fue de gran utilidad.. ayer m gano la desesperación pero pues despeus m puse analizar y si pude muchas gracias de verdad por tu ayuda... t lo agradezco mucho.. bueno espero y alguna otra duda me puedas ayudar.. muchas gracias y un coordail saludo.. me salvaste..
Me alegro que te hayan servido mis consejos, y no tengo problema en seguirte ayudando, pero por favor no te olvides de finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas