2008-12-12 17 views
5

¿Cómo configuro el color de texto actual de un TextBox deshabilitado para que sea igual al color de fondo actual en C#?Establecer un ForeColor de TextBox deshabilitado para que sea el mismo que su BackColor en C#

Simplemente haciendo txtLala.ForeColor = txtLala.BackColor no parece funcionar.

+0

¿Puedo preguntar por qué quieres hacer esto? (podría haber un enfoque más sencillo para lograr los resultados que está buscando) –

+0

En realidad, todo lo que quería lograr es hacer que el cuadro de texto parezca carecer de valor. Por alguna razón, no puedo simplemente configurar su .Text como vacío porque esto provocará un cambio demasiado grande en otros lugares y prefiero no seguir ese camino. –

+0

¿Esto es ASP o winforms? –

Respuesta

0

Si se trata de un cuadro de texto de solo lectura, primero debe establecer explícitamente su BackColor, y luego su declaración funcionará.

txtLala.BackColor = System.Drawing.SystemColors.Info; 
txtLala.ForeColor = txtLala.BackColor; 

Ref: http://bytes.com/groups/net-c/233961-read-only-textbox

Por otra parte, si se trata de sólo lectura, una etiqueta podría ser mejor. Si está tratando de ocultarlo, quizás sea mejor configurar .Visible = false.


Editar: Esto parece ser un common question en la web. Con respecto a winforms: This site sugiere soltar la caja en un marco y establecer Enabled = falseen el marco, no en el cuadro de texto. Una vez que lo hagas, podrás mantener el control del forecolor.

3

Esto funciona:

txtLala.Text = "Red"; 
txtLala.BackColor = System.Drawing.Color.Red; 
txtLala.ForeColor = txtLala.BackColor; 
txtLala.ReadOnly = true; 

Intente configurar la color, antes de la readonly. ¡Y también comprueba cómo estás configurando el color!

EDITAR

probar este

Si usted está tratando de hacerlo invisible, usted sabe que puede configurarlo como

txtLala.Visible = False; 

EDITAR II

Finalmente lo intenté

txtLala.Enabled = false; 

... ves ese color de sombra gris! No creo que pueda meterse con eso, parece ser una configuración de propiedad del navegador.

¿Por qué no establecer como ReadOnly o Visible = False?

tal vez usted tiene una buena razón para Enabled = false

Pero debe tener en cuenta:

utilizar la propiedad Habilitado para especificar o determinar si un control es funcional. Cuando se establece en falso, el control aparece atenuado, impidiendo que se ingrese ninguna entrada en el control.

Nota La capacidad de habilitar o deshabilitar la funcionalidad siempre está disponible. Sin embargo, atenuar y bloquear el control solo funciona en Microsoft Internet Explorer versión 4 y posterior.

Esta propiedad se propaga por la jerarquía de control. Por lo tanto, deshabilitar un control de contenedor deshabilitará todos los controles secundarios dentro de ese contenedor.

Nota No todos los controles admite esta propiedad. Ver los controles indivuales para más detalles.

+0

+1 respuesta completa –

0

Parece que fue a trabajar para cuadro de texto que se lee solamente. Si está deshabilitado (.Enabled = false). No parece funcionar.

+0

¿Lo ha probado con estilo CSS, esto podría ser el truco. – Drejc

+0

De acuerdo, funcionaría con css – inspite

+0

No creo que esto sea ASP ... –

Cuestiones relacionadas