Digamos que tengo un control y quiero evitar que se edite.¿Cómo se desactivan .NET Winforms Controls sin cambiar su apariencia?
Establecer la propiedad Enabled del control en False funcionará, pero la apariencia del control cambiará en consecuencia, generalmente a una fuente negra sobre gris difícil de leer. Cuando la legibilidad aún es importante, este es un problema real.
Para un cuadro de texto, hay algunas correcciones obvias:
Textbox1.BackColor = Color.White;
o
Textbox1.ReadOnly= true; // instead of setting Enabled to false
pero por desgracia esto no funcionará para cada controles (por ejemplo, botones de radio)
Otro La solución es dejar intacta la propiedad Enabled y suscribirse al evento de enfoque como este (pero esta no es una solución realmente elegante)
this.Textbox1.Enter += new System.EventHandler(this.Textbox1_Enter);
private void Textbox1_Enter(object sender, EventArgs e)
{
Textbox1.FindForm().ActiveControl = null;
}
¿Has visto otras formas de solucionar este problema? (y me refiero a soluciones del mundo real; por supuesto, puede capturar una captura de pantalla del control y mostrar la copia sobre el control ...: p)
Lo publiqué antes de que terminara la pregunta. –
ahah! Sin embargo, otra reputación de francotirador :) – Brann