Curioso comportamiento de los TextBox

31/01/2005 - 16:41 por Carlos Gómez | Informe spam
Curioso:

Creas un formulario Form1 con un textbox y le asignas la propiedad readonly
= true

Escribes:

Public Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New Form1)
End Sub

Cuando le das a ejecutar, ves que el textbox al estar en readonly=true,
tiene el color de fondo el mismo que tiene
el formulario (esa especie de gris claro).


Vale, ahora cierra, y abre el diseñador. Cambiale la propiedad backcolor del
textbox a otro color que el que se asigna por defecto

Vuelve a cambiar (no vale deshacer) la propiedad al color que trae por
defecto: window (pestaña sistema, color window)

Cuando ejecutas el formulario: ahora el textbox tiene el color de fondo
blanco, y no el del formulario.

La unica forma de conseguir que vuelva a estar como al principio, es
abriendo el Código generado por el Diseñador de Windows Forms,
buscar el textbox y eliminar la linea del backcolor a mano.


Esto o es un error, o me estoy volviendo loco.


¿Alguna opinión?

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
31/01/2005 - 21:27 | Informe spam
Hola Carlos,

es muy curioso lo que comentas. Creo que es un bug del control.
Sin embargo, existe una forma más fácil de cambiar el color al que debe
tener con la propiedad readonly a true, y es cambiarle esta propiedad a false
y luego a true.

Sino te importa, remitiré este comportamiento a Microsoft para que lo
estudien, ya que creo que es un bug y el comportamiento esperado es que no
apareciera en blanco, sino en el color gris de readonly a true. Creo que
pensamos igual.

Un saludo y muchas gracias por compartirlo. Nos beneficiamos

Jorge Serrano Pérez
MVP VB.NET



"Carlos Gómez" wrote:

Curioso:

Creas un formulario Form1 con un textbox y le asignas la propiedad readonly
= true

Escribes:

Public Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New Form1)
End Sub

Cuando le das a ejecutar, ves que el textbox al estar en readonly=true,
tiene el color de fondo el mismo que tiene
el formulario (esa especie de gris claro).


Vale, ahora cierra, y abre el diseñador. Cambiale la propiedad backcolor del
textbox a otro color que el que se asigna por defecto

Vuelve a cambiar (no vale deshacer) la propiedad al color que trae por
defecto: window (pestaña sistema, color window)

Cuando ejecutas el formulario: ahora el textbox tiene el color de fondo
blanco, y no el del formulario.

La unica forma de conseguir que vuelva a estar como al principio, es
abriendo el Código generado por el Diseñador de Windows Forms,
buscar el textbox y eliminar la linea del backcolor a mano.


Esto o es un error, o me estoy volviendo loco.


¿Alguna opinión?



Respuesta Responder a este mensaje
#2 Carlos Gómez
01/02/2005 - 06:19 | Informe spam
No tengo ningún inconveniente en que lo remitas a Microsoft.

De hecho, puse el correo con la única intención que otro perdiera las 2
horas que me costó encontrar la solución.

La lástima que si por ejemplo a un textbox con datos numéricos le cambias el
backcolor a rojo para indicar que la cantidad es negativa, se pierde la
característica de color cuando readonly es true.

Saludos.
Respuesta Responder a este mensaje
#3 Jorge Serrano [MVP VB]
01/02/2005 - 07:03 | Informe spam
Gracias Carlos.

Sobre lo del cambio de color a rojo y pérdida del fondo como readonly=true
que comentas, la verdad es que en ese caso no es muy limpio hacer
readonly=false y luego readonly=true como indicaba para que tomara el color
gris de la ventana.

Voy a ver si me entero por otro lado y a ver si saco algo más. :-)

Lo dicho, muchas gracias por compartirlo, seguro que ahorras más de un
quebradero de cabeza a alguno.

Un saludo,

Jorge Serrano Pérez
MVP VB.NET




"Carlos Gómez" wrote:

No tengo ningún inconveniente en que lo remitas a Microsoft.

De hecho, puse el correo con la única intención que otro perdiera las 2
horas que me costó encontrar la solución.

La lástima que si por ejemplo a un textbox con datos numéricos le cambias el
backcolor a rojo para indicar que la cantidad es negativa, se pierde la
característica de color cuando readonly es true.

Saludos.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida