Problema con valor por defecto de una propiedad

11/01/2009 - 17:51 por Carlos | Informe spam
hice una clase de textbox, digamos myTextBox. Alli en tiempo de diseño le
indique a la propiedad CharacterChasing el valor de Upper para que los datos
ingresados se transformen a mayusculas. Funciona bien.

En un form de windows luego pongo un myTextBox y necesito que para ese form
su propiedad CharacterChasing este con valor Normal en vez de Upper.

Pues resulta que aunque la cambio, al ejecutar el form no me respeta el
cambio y el disenador vuelve a ponerlo en Upper.

Como arreglo eso?
parece un bug
 

Leer las respuestas

#1 SoftJaén
11/01/2009 - 19:06 | Informe spam
"Carlos" escribió:

hice una clase de textbox, digamos myTextBox. Alli en tiempo de diseño
le indique a la propiedad CharacterChasing el valor de Upper para que los
datos ingresados se transformen a mayusculas. Funciona bien.

En un form de windows luego pongo un myTextBox y necesito que para ese
form su propiedad CharacterChasing este con valor Normal en vez de Upper.

Pues resulta que aunque la cambio, al ejecutar el form no me respeta el
cambio y el disenador vuelve a ponerlo en Upper.

Como arreglo eso?
parece un bug



Hola, Carlos:

No creo que se trate de ningún tipo de «bug». Más bien se tratará de la
implementación que has efectuado de la propiedad CharacterCasing en tu clase
derivada de TextBox, y si has utilizado o no el atributo «DefaultValue» para
especificar el valor por defecto que tomará la propiedad que deseas
redefinir.

Como no has publicado el código fuente que has escrito en la clase derivada,
no te puedo decir el motivo para que no te respete el valor de la propiedad
especificado. No obstante, prueba el siguiente ejemplo de una supuesta clase
que deriva de TextBox y sobrescribe la propiedad «CharacterCasing»:

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public class myTextBox : TextBox
{
public myTextBox()
: base()
{
base.CharacterCasing = CharacterCasing.Upper;
}

[System.ComponentModel.DefaultValue(System.Windows.Forms.CharacterCasing.Upper)]
public new CharacterCasing CharacterCasing
{
get { return base.CharacterCasing; }
set { base.CharacterCasing = value; }
}
}
}

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares