Propiedad ReadOnly

28/01/2007 - 00:30 por RobWare.Ruiz | Informe spam
Deseo saber como implementar la propiedad ReadOnly en los controles ComboBox
y CheckBox que no la traen, como si la trae TextBox y DataGridView

De antemano muchas gracias

RobWare
 

Leer las respuestas

#1 Alberto Poblacion
28/01/2007 - 11:27 | Informe spam
"RobWare.Ruiz" wrote in message
news:
Deseo saber como implementar la propiedad ReadOnly en los controles
ComboBox
y CheckBox que no la traen, como si la trae TextBox y DataGridView




Tendrías que heredar de ellos y en tu clase hija, además de añadir la
propiedad ReadOnly, hacer un override de todos los métodos y propiedades
capaces de modificar su valor y hacer que si la propiedad readonly está a
true no lo modifiquen.

Por ejemplo, en el checkbox podrías hacer algo parecido a lo siguiente
(escrito de memoria, no lo he probado):

public class MiCheckBox : CheckBox
{
private bool soloLectura=false;
public bool ReadOnly
{
get { return soloLectura; }
set { soloLectura=value; }
}

public override bool Checked
{
get { return base.Checked; }
set { if (!soloLectura) base.Checked=value; }
}
}

Esto impide cambiar su valor por código. Dependiendo de cómo sea la
implementación interna del checkbox, es posible que tengas que hacer un
override también de alguna otra función, tal como OnClick y OnKeyPress, para
que no te cambien el valor de forma interactiva.

Preguntas similares