Pregunta

¿Hay alguna manera en Windows para recuperar el color que se utiliza como color de fondo para los controles inactivos (TextBox, etc.)? O mejor aún, el color del borde también?

Esto es para Windows Forms y no he podido encontrar nada adecuado en SystemColors. No hay tal cosa

El caso en cuestión. Tengo un cuadro de texto que puede no ser suficiente para que el texto se mantiene grande y está desactivado. Cuando se desactiva el usuario no puede desplazarse para ver el texto completo y ni siquiera puede mostrar una información sobre herramientas por razones obvias .

Así que lo que he hecho ahora está estableciendo la propiedad TextBox del ReadOnly a true que me permite mostrar la información sobre herramientas y tienen el control de desplazamiento. El cliente ahora quiere que el cuadro de texto para que parezca que se ha desactivado; ReadOnly es una propiedad bastante desagradable ya que todavía ve como puede ser editado. Así que pensé poner el color de fondo adecuada allí podría ser suficiente para engañar a la mayoría de los usuarios. No puedo utilizar un valor de gris arbitraria, ya que hay otros controles con discapacidad en ese formulario, así y probablemente se observaron diferencias de color. Entonces, ¿hay alguna manera de saber cómo un control deshabilitado se rindió? color de fondo y color del borde o por lo menos la primera debería ser suficiente aquí, pero prefiero no adivinar. Plataformas en cuestión son muy probablemente XP y Vista quizá tanto con o sin temas.

ETA: Indiferencia. La pregunta era estúpida y un error de mi parte que debería haber visto antes. Fue sólo un poco raro que un solo cuadro de texto no se adheriría a un fondo gris.

¿Fue útil?

Solución

Cuando está desactivado, el cuadro de texto tiene SystemColors.Control color de fondo y color de primer plano SystemColors.GrayText.

Otros consejos

Prueba esto:

        treeView1.EnabledChanged += (s, o) =>
            {
                treeView1.BackColor = treeView1.Enabled ? Color.White : SystemColors.Control;
            };
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top