CheckBox - RadioButton ReadOnly

06/07/2004 - 14:04 por Anonimo | Informe spam
Hola, una cuestión a ver si es posible.

Quisiera saber cómo se pueden crear CheckBox -
RadioButton que sean ReadOnly, quizá no tenga sentido ???

Por ejemplo, se daría este caso, que tengas un checkbox
con un valor (activo o no) pero no quieres que el usuario
pulse el checkbox y cambie el valor.

No quiero el efecto Enable = false, porque me cambiaría
el color de fondo, por eso sería mejor algo así como
ReadOnly.

Intuyo que habría que heredar de las clases padre y
crearse controles específicos, pero cómo podría crear esa
funcionalidad ?

Gracias a todos por vuestra atención. Un saludo cordial.
 

Leer las respuestas

#1 Yachakuq
06/07/2004 - 15:52 | Informe spam
Hola:
Exacto, lo haces así:
using ...
namespace ClasesPropias
{
#region CheckBox
/// <summary>
/// Representa un control de CheckBox de Windows
personalizado.
/// </summary>
public class MiCheckBox :
System.Windows.Forms.CheckBox
{
#region Propiedad
/// <summary>
/// Variable que obtiene o establece un
valor que indica si el control es de sólo lectura.
/// </summary>
private bool readOnly;

/// <summary>
/// Obtiene o establece un valor que
indica si el control es de sólo lectura.
/// </summary>
[Category("Propias")]
[Description("Indica si el control es de
sólo lectura.")]
[DefaultValue(false)]
public bool ReadOnly
{
get
{
return readOnly;
}
set
{
readOnly = value;
}
}
#endregion Propiedad

#region Override
protected override void WndProc(ref
Message m)
{
if (this.ReadOnly && (m.Msg ==
0x0201 || m.Msg == 0x0203))
{
return;
}
base.WndProc(ref m);
}
#endregion Override
}
#endregion CheckBox
}
No te olvides de reemplazar System.Windows.Forms.CheckBox
por ClasesPropias.MiCheckBox (2 veces) en tu formulario
que contiene el control.
Igualmente haces con el RadioButton.

Saludos.
Yachakuq

Preguntas similares