Cambiar el color de fondo de un cuadro de texto por código de forma permanente por código

Mi consulta es como cambiar el color de fondo de un cuadro de texto por código pero de forma permanente es decir, ya le he cambiado por medio del código siguiente:

Este código lo he puesto en el el evento al abrir formulario

Me.cuadrodetexto.BackColor = RGB(255,255,255)

Pero lo que quiero es que el cuadro que cambie el color se cambie permanentemente, es decir que ponga como valores originales del color de fondo del cuadro de texto el color que yo le puse. Esto porque en mi formulario tengo una especie de caja registradora con muchos botones y poniendo el código que puse repite una y otra vez el código haciendo que al abrir el formulario se quede procesando y se demora. Quisiera que una vez que le he cambiado la primera vez ya dejar de ejecutar ese código.

Espero Me hayan entendido y de nuevo gracias por la ayuda que me puedan dar.

1 Respuesta

Respuesta
2

Diego: En primer lugar y como opinión personal esa línea de código, no afecta al tiempo de apertura del Formulario. La causa debe ser otra.

Y algo que no entiendo. Dices que quieres el código para cambiar el color, pero que solo se ejecute una vez. El código se te va a repetir 1 o N veces dependiendo de donde esté. Si lo tienes en un AfterUpdate, cada que actualices el dato y en tu caso, cada vez que abras el Formulario.

Si quisieras hacer un sondeo para que no se ejecute esa línea, tendrías que hacerlo con más código.

Por tanto y mi opinión si un código no quieres que se ejecute, no lo pongas. Quizá en lugar de un juicio es una sentencia, pero es que es así.

Vete a las propiedades del Control, ponle los formatos que quieras y te olvidas.

Salvo que solo hayas expresado una parte de tu problema, en cuyo caso, será otro tema y pregunta aparte. Mis saludos >> Jacinto

El tema es que tengo como mencionaba muchos cuadros de texto como una caja registradora y al estar en el evento al abrir el formulario corre cada uno de los cuadros de texto con el código que puse  para poner el color de fondo a cada uno. Cada cuadro de texto tiene por default un color de fondo quisiera algun código que permita cambiar ese color de fondo de default. Y ya queden con el color que le asigne. 

Diego: Posiblemente esté un poco espeso, pero no acabo de ver el tema de modo que>>

1.- Si cada cuadro de texto tiene un color por default y tu quieres otro >>

¿Hay algún motivo para que no lo hagas en sus propiedades?

2.- Interpreté que era "un" TextBox en base al inicio de tu pregunta ... " cambiar el color de fondo de un cuadro de texto por código.., pero eso es lo de menos.

3.- Sigo opinando que por muchos cuadros de texto que tengas, el cambio de color no debe enlentecer de forma que tu lo aprecies la apertura del formulario, pero si tu lo afirmas así, pues así será.

4.- El código va a cambiar si es que quieres poner cada cuadro de texto de un color o quieres cambiarlos todos a blanco que es el RGB que pones arriba. Pero siempre debe ejecutarse, al menos una vez.

5.- Es válido el que esté en el Form_Open pero yo lo pondría en el Form_Load

En caso de que quieras poner todos a blanco y no quieras usar tantas líneas de código como controles tienes, el código sería:

Private Sub Form_Load()
Dim Ctrl As Access.Control
For Each Ctrl In Me.Controls
     If Ctrl.ControlType = acTextBox Then
        Ctrl.BackColor = RGB(2555,255,255)
     End If
Next Ctrl
End Sub

Mis saludos >> Jacinto

Gracias Jacinto. Te comento que si podría cambiar desde las propiedades del control pero tengo otro formulario donde doy al escoger al usuario que color poner en cada botón. También probé poner el código en un boton que cambie el color de fondo y si se cambia pero al salir del formulario y volver al entrar el color de nuevo se pone el de default. Por lo que mi idea era ejecutar algún código que cambie el color por default y quede los colores que se haya escogido aun cuando ya salga de formulario donde están los cuadros de texto.

Diego: Por los cambios de necesidad que vas añadiento, ya que la pregunta inicial era >>

"Cambiar el color de fondo de un cuadro de texto por código de forma permanente por código"

Creo que vamos a ir alargando el post sin necesidad y otros usuarios que lo sigan se van a confundir en su seguimiento, y alguno que quiera responder con una posible solución, en mi opinión va a evitarlo.

Ahora mismo y en mi caso ya no sé si es que tienes un TextBox superpuesto a los botones, o solo tienes éstos para cambiar el color de fondo.

Por tanto mi sugerencia es que generes una nueva pregunta con tu verdadera necesidad, y puedo intuir que el tema no será facil, porque además estará el color de que propiedad quieras cambiar de las varias que tiene el Botón y te adjunto una imagen.

Mis saludos >> Jacinto

Estimado Jacinto la pregunta desde el inicio fue para cambiar el color de fondo de un cuadro de texto o textbox que es lo mismo no he mencionado que es un botón son cuadros de texto y mi necesidad sigue siendo la misma cambiar el color de fondo de default de dichos cuadros de forma permanente ejecutando el código una sola vez . De todas maneras agradezco mucho tu interes por responder

Diego: Es posible que yo esté malinterpretando tu escrito, en cuyo caso tendrás que disculpar mi torpeza, y aunque para mi no tiene importancia, salvo la de querer ayudarte, en tu segunda contestación yo leo ".. Te comento que si podría cambiar desde las propiedades del control pero tengo otro formulario donde doy al escoger al usuario que color poner en cada botón...". eso me ha inducido a darte mi última, contestación (ahora la penúltima).

Si mi ayuda puede serte util, encantado. Mis saludos >> Jacinto

Claro Estimado Jacinto . Voy al buscar la forma de ejecutar el código que haga el proceso que deseo y espero se pueda realizar por medio de código no lo quiero hacer desde las propiedades  del control porque el usuario debe poder cambiar el color que el desee desde otro lado no importa mucho esa parte. Pero sigo sin poder cambiar el color de default y que se quede así , si cambia pero si no ejecutó ese código de nuevo no se cambia  y se vuelve al quedar el color anterior. Agradezco pudieras Ayudarme con eso.

Diego: Mira éste ejemplo que es muy bueno y trata sobre ese tema.

http://www.mvp-access.es/emilio/Access/Descargas.asp 

El Número de ejemplo es el 103 del 11/07, con ésta Explicación

Otro experimento, como aplicar el mismo formato de texto y color, en definitiva un mismo "estilo", a los distintos controles de uno o varios formularios de una base de datos remota.

La operativa es: Seleccionas una BD y te aparecen los Formularios de la mísma. Sñalas el que te interese, Click con el Botón derecho en el Formulario del Ejemplo y eliges la acción que quieres llevar a cabo en el Menú emergente que sale. Ahí eliges un color y has de grabar el cambio, y en el icono de arriba a la derecha aplicarlo. Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas